要和启动的外部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"应替换为外部程序窗口的标题。此外,模拟鼠标点击按钮的坐标需要根据实际情况进行调整。

希望对你有所帮助!

c++ 启动了外部exe程序怎么和启动的程序进行通信模拟鼠标点击外部程序的按钮。

原文地址: https://www.cveoy.top/t/topic/jbLR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录