如何从另一个程序控制MFC应用程序?

问题描述:

我有一个窗口(列车时刻表软件)的二进制应用程序,其中包含我需要我的项目很多interresting数据(没有什么非法的,只是一些奇怪的优化算法)。但是该应用程序没有API,数据文件具有未公开的二进制格式。如何从另一个程序控制MFC应用程序?

所以我的想法是从我自己的代码控制应用程序。我想发送按键来填充表单,运行查询并将结果保存到文件中(在应用程序中有这些按钮和菜单项)。并重复多次。

有没有这方面的图书馆?还是一个例子?我有一个大概的想法如何去做,但我很懒,我不想发明*。

此外,网络上也有相同的数据。 ASP(Win表单)Web应用程序有相同的任务是否有解决方案?我可能可以处理解析结果,但我不知道如何填写webforms控件的值。

在此先感谢。

您可以使用简单的Win32 API来执行此操作。

FindWindowEx然后一旦你有窗口句柄,你可以通过使用SendMessage发送任何消息(如WM_KEYDOWN)。

一个很好的工具,可以帮助这个过程是Spy ++,因为它允许您更轻松地查看窗口层次结构,以及您正在监视的应用程序在内部使用哪些消息。

至于web表单控件,你可能需要做的工作比这更多,因为通常web将是一个画布控件,根据浏览器绘制事物的自定义画布。也许通过某种代理来实现这一点是一种更好的方法,可以实际过滤HTML页面。