-1

我正在做一个附带项目,我希望你们中的一些人能帮助我。假设我有一个在 Windows 中运行的现有可执行程序,并且它每小时都需要某种用户交互。交互过程需要敲击键盘上的某个键、单击鼠标以及与 GUI 交互。

有哪些有用的 API、函数或方法可以完成这项任务?

我可以用 C++ 和 Java 编程。

4

3 回答 3

1

如果可执行程序是在 Windows 中本地编写的,例如 c++/WinApi/MFC,那么您可以使用 SendMessage() 来激活您想要激活的控件。它模拟事件的触发

这是 C++ 代码:

#include <Windows.h>

int main(){
    HWND MainWindowHandle = FindWindowEx(NULL, NULL, "Notepad","Untitled - Notepad");

    HWND ButtonHandle = FindWindowEx(MainWindowHandle, NULL, "Button","OK");
    SendMessage(ButtonHandle, BM_CLICK,  0,  0);

    HWND TextBoxHandle = FindWindowEx(MainWindowHandle, NULL, "Edit",NULL);
    SendMessage(TextBoxHandle, WM_SETTEXT,  0,  (LPARAM)"hello");
    return 0;
}
于 2013-04-30T09:38:57.197 回答
0

检查 Thrift,它用于两种语言之间的互通。

于 2013-04-30T09:38:56.123 回答
0

这看起来像是System Tray的一些弹出应用程序。也许有一个计时器,一个守护进程。

于 2013-04-30T09:35:49.667 回答