鼠标模拟工作真的很慢。可以更快吗?

时间:2017-01-23 23:31:00

标签: c++ windows winapi sendmessage

我想创建简单的任务器。它应该尽可能快地对选定区域进行一些点击。

我正在使用windows7 x64,这是我的代码C ++

#include <windows.h>
#include <iostream>
bool KeyIsPressed(unsigned char k) {
    USHORT status = GetAsyncKeyState(k);
    return (((status & 0x8000) >> 15) == 1) || ((status & 1) == 1);
}

int main()
{
    HWND target = GetForegroundWindow();
    printf("rdy\n");
    while (true) {
        //  ctrl + T to make the front-most window the targetted window
        if (KeyIsPressed(VK_CONTROL) && KeyIsPressed('T')) {
            target = GetForegroundWindow();
            printf("go\n");

            for (int i= 693 + 13; i < 1100; i+=27)
            {
                for (int j = 59 + 13 ; j < 390; j+=27)
                {
                    SetCursorPos(i, j);
                    SendMessage(target, WM_XBUTTONDOWN, 0, NULL);
                    SendMessage(target, WM_XBUTTONUP, 0,NULL);
                }
            }
            break;
        }
    }
    return 0;
}

正如你所看到的那样,有一个循环,当我按下ctrl + T时开始。

操作

SetCursorPos(i, j);
SendMessage(target, WM_XBUTTONDOWN, 0, NULL);
SendMessage(target, WM_XBUTTONUP, 0,NULL);

重复约180次。执行所有操作大约需要4-5秒。 是否可以使它更快,或模拟功能只是慢?

0 个答案:

没有答案