pyhook3 安装 和 键盘鼠标监听demo

你说的曾经没有我的故事 提交于 2020-08-12 13:57:55

直接安装一般会报错

安装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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!