我在Windows7上运行Mozilla Firefox,希望能够从C++程序向其发送简单的命令(新建选项卡、最小化、关闭选项卡)。
当两个进程都是同一用户程序的一部分时,进程间通信的常见问题似乎可以由Boost.Interprocess回答。
但是如何实际控制一个完全独立的应用程序(Mozilla)的GUI窗口呢?
发布于 2014-06-22 14:31:00
您可以使用Spy++调试每个操作将生成的消息,然后在程序中复制这些messages。
发布于 2014-06-22 14:41:36
你可以使用Ranorex http://www.ranorex.com,Quick Test Pro http://www8.hp.com/us/en/software-solutions/unified-functional-testing-automation/index.html#.UpvC8OJO7tw
会带给你这种能力
发布于 2014-06-22 18:10:03
通过用户界面控制任何Windows程序的一般方法是向其发送Windows消息。还有一些相当特殊的Windows API,允许您将特定类型的输入直接发送到键盘、鼠标或其他输入设备。
假设需求很简单,您应该能够通过向火狐发送WM_SYSKEYDOWN|UP、WM_L|RBUTTONDOWN|UP或类似消息的组合来控制它。您可能还需要使用FindWindow和其他工具来查找将消息发送到何处。并自由地使用Spy++来确定要发送什么以及发送到何处。
实际上,我要做的是从AutoHotKey开始。它可以做所有这些事情,甚至更多,而且它有一个庞大的社区。它是GPL,所以你可以了解它是如何做事情的,并且有人在那里寻求帮助。
https://stackoverflow.com/questions/24348697
复制相似问题