如何发送鼠标点击?

Ufx*_*Ufx -1 c++ winapi sendmessage

我需要编写一个单击Windows的应用程序。

如何将左键单击发送到窗口所在的某个屏幕x / y坐标?

Rem*_*eau 5

使用SendInput()函数:

INPUT Inputs[3] = {0};

Inputs[0].type = INPUT_MOUSE;
Inputs[0].mi.dx = ...; // desired X coordinate
Inputs[0].mi.dy = ...; // desired Y coordinate
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));
Run Code Online (Sandbox Code Playgroud)

在多显示器环境中使用时,请务必阅读MOUSEINPUT文档中有关如何指定dxdy正确显示的注释MOUSEEVENTF_ABSOLUTE