c++ 启动了外部exe程序怎么和启动的程序进行通信模拟鼠标点击外部程序的按钮。
要和启动的外部exe程序进行通信,可以使用Windows API中的一些函数来实现。以下是一个示例代码,演示了如何启动外部程序并模拟鼠标点击按钮:
#include <iostream>
#include <windows.h>
int main() {
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
// 启动外部程序
if (!CreateProcess("path_to_external_program.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {
std::cout << "Failed to start external program." << std::endl;
return 1;
}
// 等待外部程序启动
Sleep(3000);
// 获取外部程序窗口句柄
HWND hwnd = FindWindow(NULL, "External Program Title");
if (hwnd == NULL) {
std::cout << "Failed to find window." << std::endl;
return 1;
}
// 模拟鼠标点击按钮
POINT pt;
pt.x = 100; // 按钮的x坐标
pt.y = 100; // 按钮的y坐标
ClientToScreen(hwnd, &pt); // 将坐标转换为屏幕坐标
SetCursorPos(pt.x, pt.y); // 设置鼠标位置
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); // 模拟鼠标左键按下
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // 模拟鼠标左键释放
// 关闭外部程序
TerminateProcess(pi.hProcess, 0);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return 0;
}
请注意,上述代码中的"path_to_external_program.exe"应替换为实际外部程序的路径和名称,"External Program Title"应替换为外部程序窗口的标题。此外,模拟鼠标点击按钮的坐标需要根据实际情况进行调整。
希望对你有所帮助!
原文地址: https://www.cveoy.top/t/topic/jbLR 著作权归作者所有。请勿转载和采集!