使用PostMessage模拟鼠标点击

时间:2016-06-03 19:58:22

标签: python winapi pywin32

我正在使用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()

我感谢每一个提示!

1 个答案:

答案 0 :(得分:0)

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