按住鼠标左键后,没反应,和正常左键功能一样
#include <Windows.h>
#include <cstdlib>
int main()
{
// 获取当前光标位置
POINT p;
GetCursorPos(&p);
// 模拟按下鼠标左键
INPUT input;
input.type = INPUT_MOUSE;
input.mi.dx = p.x;
input.mi.dy = p.y;
input.mi.mouseData = 0;
input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
input.mi.time = 0;
SendInput(1, &input, sizeof(INPUT));
// 随机延迟并连续点击鼠标左键
while (GetAsyncKeyState(VK_LBUTTON) & 0x8000)
{
// 随机延迟
int delay = rand() % 50 + 1;
Sleep(delay);
// 模拟点击鼠标左键
input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP;
SendInput(1, &input, sizeof(INPUT));
}
// 模拟抬起鼠标左键
input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &input, sizeof(INPUT));
return 0;
}
这段代码中,使用GetCursorPos
函数获取当前光标位置,然后使用SendInput
函数模拟按下鼠标左键,在一个while
循环中,不断地模拟点击鼠标左键。