直接安装一般会报错
安装vc++
https://blog.csdn.net/qq_38161040/article/details/88203864
使用官方工具
vc build,提取码:u2v6
https://download.csdn.net/download/qq_35516360/12441961
下载后直接运行, 然后点击安装, 需要有网,然后等待安装成功
如果过程中出错,可以重新运行进行修复
安装 swig
https://blog.csdn.net/qq_38161040/article/details/87928583
swig ,提取码:72ww
下载对应的文件,然后将解压后的路径加入path
安装成功后查看帮助信息
安装pyhook3
pip install pyhook3 -i https://pypi.tuna.tsinghua.edu.cn/simple
测试代码
import PyHook3
hm = PyHook3.HookManager()
# 鼠标事件处理函数
def OnMouseEvent(event):
print('MessageName:', event.MessageName) # 事件名称
print('Message:', event.Message) # windows消息常量
print('Time:', event.Time) # 事件发生的时间戳
print('Window:', event.Window) # 窗口句柄
print('WindowName:', event.WindowName) # 窗口标题
print('Position:', event.Position) # 事件发生时相对于整个屏幕的坐标
print('Wheel:', event.Wheel) # 鼠标滚轮
print('Injected:', event.Injected) # 判断这个事件是否由程序方式生成,而不是正常的人为触发。
print('---')
# 返回True代表将事件继续传给其他句柄,为False则停止传递,即被拦截
return True
# 键盘事件处理函数
def OnKeyboardEvent(event):
print('MessageName:', event.MessageName) # 同上,共同属性不再赘述
print('Message:', event.Message)
print('Time:', event.Time)
print('Window:', event.Window)
print('WindowName:', event.WindowName)
print('Ascii:', event.Ascii, chr(event.Ascii)) # 按键的ASCII码
print('Key:', event.Key) # 按键的名称
print('KeyID:', event.KeyID) # 按键的虚拟键值
print('ScanCode:', event.ScanCode) # 按键扫描码
print('Extended:', event.Extended) # 判断是否为增强键盘的扩展键
print('Injected:', event.Injected)
print('Alt', event.Alt) # 是某同时按下Alt
print('Transition', event.Transition) # 判断转换状态
print('---')
# 同上
return True
hm.MouseAllButtonsDown = OnMouseEvent # 将OnMouseEvent函数绑定到MouseAllButtonsDown事件上
hm.KeyDown = OnKeyboardEvent # 将OnKeyboardEvent函数绑定到KeyDown事件上
hm.HookMouse() # 设置鼠标钩子
hm.HookKeyboard() # 设置键盘钩子
#
import pythoncom
pythoncom.PumpMessages()
# hm.UnhookMouse() # 取消鼠标钩子
# hm.UnhookKeyboard() # 取消键盘钩子
q
来源:oschina
链接:https://my.oschina.net/ahaoboy/blog/4285810