使用 PostMessage 模拟鼠标点击

Emulating a mouseclick using PostMessage

我正在使用 python 的 win32 模块创建一个简单的 click() 方法,它应该模拟鼠标点击,但不幸的是我的方法不起作用。

def click(x, y):
    hWnd = win32gui.FindWindow(None, "SomeWindowTitle")
    lParam = win32api.MAKELONG(x, y)

    win32gui.PostMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, lParam);
    win32gui.PostMessage(hWnd, WM_LBUTTONUP, MK_LBUTTON, lParam);

...
timer = Timer(30, click, [x, y])
timer.start()

感谢每一个提示!

我现在开始工作了.. 上面的代码运行良好,我唯一不知道的是我在屏幕坐标中从 win32api.GetCursorPos() 获取光标位置,但是 win32gui.PostMessage() 需要 hWnd 的相对坐标。简单地用 ScreenToClient() 转换它就可以了。