c++模拟鼠标点击也移动光标

cpp simulating mouseclick also moves the cursor

我有以下 cpp 脚本:

INPUT Inputs[3] = { 0 };

Inputs[0].type = INPUT_MOUSE;
Inputs[0].mi.dx = 0; 
Inputs[0].mi.dy = 0; 
Inputs[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE;

Inputs[1].type = INPUT_MOUSE;
Inputs[1].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;

Inputs[2].type = INPUT_MOUSE;
Inputs[2].mi.dwFlags = MOUSEEVENTF_LEFTUP;

SendInput(3, Inputs, sizeof(INPUT));

它应该模拟鼠标按下,它可以工作,但它也总是将光标移动到特定位置,即使我没有这个

Inputs[0].mi.dx = 0; 
Inputs[0].mi.dy = 0;

部分。我希望它只是点击而不是移动光标

鼠标光标移动是因为您通过在第一个 INPUT 结构中设置 MOUSEEVENTF_MOVE 标志请求鼠标光标移动。

如果您不想让鼠标移动,请删除整个第一个 INPUT 结构。另一方面,如果您想注入鼠标移动事件,但实际上并不移动鼠标,请删除 MOUSEEVENTF_ABSOLUTE 标志。