我想创建简单的任务器。它应该尽可能快地对选定区域进行一些点击。
我正在使用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秒。 是否可以使它更快,或模拟功能只是慢?