我在Windows(火车时刻表软件)上有一个二进制应用程序,其中包含我项目所需的大量内容数据(没有任何非法,只是一些奇怪的优化算法)。但是应用程序没有api,数据文件没有未记录的二进制形式。
所以我的想法是从我自己的代码中控制应用程序。我想发送键盘来填充表单,运行查询并将结果保存到文件中(在应用程序中有按钮和菜单项)。并重复多次。
这是否有图书馆?还是一个例子?我有一个大致的想法如何做到这一点,但我很懒,我不想发明轮子。
此外,网络上提供了相同的数据。是否有一些解决方案与ASP(Win窗体)Web应用程序相同的任务?我可以处理解析结果,但我不知道如何填充webforms控件的值。
提前致谢。
答案 0 :(得分:1)
您可以使用简单的Win32 API来执行此操作。
FindWindowEx然后,一旦掌握了窗口句柄,就可以使用WM_KEYDOWN向其发送任何消息(例如SendMessage)。
有助于此过程的一个好工具是Spy ++,因为它允许您更轻松地查看窗口层次结构,以及您正在监视的应用程序内部使用哪些消息。
对于Web表单控件,您可能需要做更多的工作,因为通常Web将是一个画布控件,根据浏览器自定义绘制的内容。也许通过某种代理方式执行此操作是一种更好的方法,您可以实际过滤HTML页面。