目前没有比 SendInput 更快的函数,因为它是 Windows 操作系统提供的最快的输入模拟函数之一。如果您需要同时模拟鼠标和键盘,可以将 SendInput 函数分别用于鼠标和键盘的模拟,然后通过线程或进程的方式保证它们互不干扰。

以下是一个示例代码,模拟鼠标左键点击和键盘输入:

#include <Windows.h>

int main()
{
    INPUT input[2];

    // 模拟鼠标左键点击
    input[0].type = INPUT_MOUSE;
    input[0].mi.dx = 0;
    input[0].mi.dy = 0;
    input[0].mi.mouseData = 0;
    input[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
    input[0].mi.time = 0;
    input[0].mi.dwExtraInfo = 0;

    // 模拟键盘输入
    input[1].type = INPUT_KEYBOARD;
    input[1].ki.wVk = VK_RETURN;
    input[1].ki.wScan = 0;
    input[1].ki.dwFlags = 0;
    input[1].ki.time = 0;
    input[1].ki.dwExtraInfo = 0;

    SendInput(2, input, sizeof(INPUT));

    return 0;
}

此代码将模拟鼠标左键点击和键盘输入的 Enter 键。您可以根据需要更改输入参数。

C++ 模拟鼠标和键盘输入:比 SendInput 更快的方法?

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

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