我在Windows 7上运行Mozilla Firefox,并希望能够从C ++程序向它发送简单的命令(New Tab,Minimize,Close Tab)。
当两个进程都是同一用户程序的一部分时,进程间通信的常见问题似乎由Boost.Interprocess回答。
但实际控制完全独立的应用程序(Mozilla)的GUI窗口呢?
答案 0 :(得分:0)
您可以使用Spy ++调试每个操作将生成的消息,然后在您的程序中复制messages。
答案 1 :(得分:0)
您可以使用Ranorex http://www.ranorex.com,Quick Test Pro http://www8.hp.com/us/en/software-solutions/unified-functional-testing-automation/index.html#.UpvC8OJO7tw
会给你这种能力
答案 2 :(得分:0)
通过其用户界面控制任何Windows程序的一般答案是发送Windows消息。还有一些相当具体的Windows API允许您将特定类型的输入直接发送到键盘,鼠标或其他输入设备。
假设有简单的要求,你应该能够通过向它发送WM_ [SYS] KEY [DOWN | UP],WM_ [L | R] BUTTON [DOWN | UP]等消息的某种组合来控制Firefox。您可能还需要使用FindWindow和其他东西来查找发送消息的位置。并且自由地使用Spy ++来确定要发送什么以及在何处发送。
实际上,我要做的是从AutoHotKey开始。它可以做所有这些,然后一些,它有一个庞大的社区。它是GPL,所以你可以找到它是如何做的,那里有人可以寻求帮助。