win32_hooks 具体功能模块
纯 PYthon 中的 Windows 全局 hooks 。
该实现使用由标准 python 模块 ctypes 提供的外部函数接口 (FFI),并受到 pyHook、pyhooked 和其他类似模块的启发(代码从头开始重写)。它往往是 pyHook 的超集,但仅在纯 python 中,因此不需要编译。
当前实现的 hooks 集:
- WH_MOUSE_LL
- WH_KEYBOARD_LL
有关 Windows hooks 的更详细文档,请参阅 MSDN:https://msdn.microsoft.com/en-us/library/windows/desktop/ms632589.aspx
该模块可以单独使用,也可以与 pywinauto 一起使用。这段代码的分支(在某个时刻)被用于由 Ethan Smith 维护的独立库 pyhooked 0.8 中。
pywinauto.win32_hooks.Hook
class pywinauto.win32_hooks.Hook
低级键盘和鼠标事件的挂钩
win32_hooks.Hook.hook
pywinauto.win32_hooks.Hook.hook(keyboard=True, mouse=False)
挂钩鼠标和/或键盘事件
win32_hooks.Hook.is_hooked
pywinauto.win32_hooks.Hook.is_hooked()
验证是否有任何钩子处于活动状态
win32_hooks.Hook.listen
pywinauto.win32_hooks.Hook.listen()
侦听事件
win32_hooks.Hook.stop
pywinauto.win32_hooks.Hook.stop()
停止收听循环
win32_hooks.Hook.unhook_keyboard
pywinauto.win32_hooks.Hook.unhook_keyboard()
取消挂钩键盘事件
win32_hooks.Hook.unhook_mouse
pywinauto.win32_hooks.Hook.unhook_mouse()
取消挂钩鼠标事件
pywinauto.win32_hooks.KeyboardEvent
class pywinauto.win32_hooks.KeyboardEvent(current_key=None, event_type=None, pressed_key=None)
在发生键盘事件时创建
pywinauto.win32_hooks.MouseEvent
class pywinauto.win32_hooks.MouseEvent(current_key=None, event_type=None, mouse_x=0, mouse_y=0)
在鼠标事件发生时创建