Python win32gui 获取窗口中虚拟光标的当前位置

问题描述

我知道使用 win32gui.PostMessage(hwnd,win32con.WM_MOUSEMOVE,wParam,lParam) 我可以假装鼠标移动到一个未聚焦的应用程序,而不会影响我真正的鼠标。

如果 win32api.GetCursorPos() 返回我的真实鼠标光标的位置,我如何获得我当前的“假鼠标”位置?

编辑 #1:

我在 外部 应用程序上使用 WM_MOUSEMOVE,因此我唯一拥有的是应用程序的 window handle (HWND)。

解决方法

您可以使用GetMessagePos

检索最后一条消息的光标位置 GetMessage 函数。

更多参考:Possible to do MouseMove actions with PostMessage without hijacking the cursor?

编辑

如果只想通过外部应用的HWND获取其消息,则需要使用SetWindowsHookEx,将其制作成dll注入到外部进程中。

您可以使用 SetWindowsHookEx 函数和 WH_CALLWNDPROC 或其他类型的钩子,here 就是一个例子。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...