0

我正在尝试编写一个程序,而不是检测鼠标指针何时更改图标并自动发出鼠标点击。有没有比截屏并解析鼠标图标的图像更好的方法呢?

编辑:我在 Windows 7 上运行我的程序。我正在尝试学习一些图像处理并制作一个我自动制作的简单 Flash 游戏。规则:当诅咒改变形状时,点击获得一个点。

还有哪些 python 成像模块可以让您拍摄特定尺寸的屏幕截图,而不仅仅是整个屏幕?这个问题已经转移到一个新线程:“拍摄特定尺寸的屏幕截图

4

1 回答 1

0

SetWindowsHookEx在 Windows 中执行此操作的方法是使用或安装全局消息挂钩SetWinEventHook。(或者,您可以构建一个将 Python 嵌入到浏览器或其 Flash 包装器应用程序中的 DLL,并在应用程序内进行较少的干扰,但这需要更多的工作。)

您想要的消息是WM_SETCURSOR. 请注意,这是 Windows 发送给应用程序询问是否要更改光标的消息,而不是光标更改时发送的消息。因此,IIRC,您将需要放置 aWH_CALLWNDPROC和 a并在前后WH_CALLWNDPROCRET检查应用程序是否已这样做。GetCursorInfo

那么,你如何从 Python 中做到这一点?老实说,如果您还不了解软件包中win32api的两者和朋友pywin32,以及如何用某种语言编写 Windows 消息过程,您可能不想这样做。如果您愿意,我将从 UNC Assist的(废弃的) pyHook项目开始。即使你不能让它工作,它也充满了有用的源代码。

您还应该搜索 SO[python] SetWinEventHook[python] SetWindowsHookEx,然后用谷歌搜索一下;有一些例子(我什至在某处写了一个......)

您可以查看更高级别的包装器框架,例如pywinautoand winGuiAuto,但据我所知,它们都对捕获事件没有太大帮助。

我相信还有其他工具,可能是AutoIt,它们具有您需要的所有功能,但在 Python 模块中没有。(例如,AutoIt 有自己的类似 VB 的脚本语言。)

于 2013-10-31T02:44:25.670 回答