可以与其他程序交互的程序

时间:2013-04-30 09:31:17

标签: java c++ user-interaction

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

我可以用什么有用的API,功能或方法来完成这项任务?

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

3 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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