我认为这个问题的标题很清楚。
const int WM_KEYDOWN = 0x100;
const int WM_KEYUP = 0x101;
const int WM_SYSCOMMAND = 0x018;
const int SC_CLOSE = 0x053;
const int WM_MOUSEMOVE = 0x200;
int WindowToFind = FindWindow(null, "Untitled - Paint");
PostMessage(WindowToFind, WM_MOUSEMOVE, 400, 500);
PostMessage(WindowToFind, WM_KEYDOWN, ((int)Keys.LButton), 0);
PostMessage(WindowToFind, WM_KEYUP, ((int)Keys.LButton), 0);
以上,是当前代码。这不起作用。(但是,如果我想按 A,postmessage 确实会发布实际的键,它会这样做。但是它在鼠标上失败,或者我失败了)
我还必须指出,我什至不知道 lparam 实际上是什么,我只是习惯将它设置为 null 并将 wparam 设置为键。我什至不确定我是否应该使用 wm_mousemove,因为它看起来像是“接收”而不是实际设置位置。然后我读到 Lparam 应该设置为包含 x 和 y,如 500 * 0x10000 + 500,而 wparam 为 0 等,它没有帮助。谷歌搜索其他方式也没有帮助。我真的不在乎方法,我只想在另一个没有焦点的窗口上按鼠标左键,在某个位置。