可以与另一个程序交互的程序

A program that can interact with another program

本文关键字:程序 交互 另一个      更新时间:2023-10-16

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

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

我会用c++和Java编程

如果可执行程序是用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;
}

这看起来像是系统托盘的一些弹出式应用程序。也许用一个定时器,一个守护进程。

选中Thrift,用于两种语言之间的交互。