pyhook监听鼠标事件和键盘事件

pyhook监听鼠标事件和键盘事件

转载:https://blog.csdn.net/matrix_google/article/details/71512495


anaconda自带pythoncom模块,pythoncom包其实就是pywin32,也就是python控制windows系统的API。

想要支持pyhook必须先有pythoncom包,如果没有pythoncom就先下载一个pywin32。


Windows平台你需要下载:

第一步,安装pywin32,地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32

第二步,下载pyhook_py3k,地址:https://github.com/Answeror/pyhook_py3k

第三步,下载swig.exe,地址:http://www.swig.org/download.html

第四步,解压缩pyhook_py3k,并进行编译,cmd进入到setup.py的目录,执行命令:Python setup.py build_ext --swig=“这里是你的swig.exe的路径”\swigwin-3.0.12\swig.exe,可以根据实际情况修改swig.exe的路径,另外本机最好已安装VC2008

    第五步,安装编译好的pyhook_py3k,命令:pip install .


举例:

  1. # -*-coding:utf-8 -*-  
  2. import pythoncom  
  3. import pyHook  
  4. def onMouseEvent(event):  
  5.   
  6.     # 监听鼠标事件  
  7.     print "MessageName:",event.MessageName  
  8.     print "Message:", event.Message  
  9.     print "Time:", event.Time  
  10.     print "Window:", event.Window  
  11.     print "WindowName:", event.WindowName  
  12.     print "Position:", event.Position  
  13.     print "Wheel:", event.Wheelkkk9  
  14.     print "Injected:", event.Injected  
  15.     print"---"  
  16.   
  17.     # 返回 True 以便将事件传给其它处理程序  
  18.     # 注意,这儿如果返回 False ,则鼠标事件将被全部拦截  
  19.     # 也就是说你的鼠标看起来会僵在那儿,似乎失去响应了  
  20.     return True  
  21.   
  22. def onKeyboardEvent(event):  
  23.  # 监听键盘事件  
  24.   print "MessageName:", event.MessageName  
  25.   print "Message:", event.Message  
  26.   print "Time:", event.Time  
  27.   print "Window:", event.Window  
  28.   print "WindowName:", event.WindowName  
  29.   print "Ascii:", event.Ascii, chr(event.Ascii)  
  30.   print "Key:", event.Key  
  31.   print "KeyID:", event.KeyID  
  32.   print "ScanCode:", event.ScanCode  
  33.   print "Extended:", event.Extended  
  34.   print "Injected:", event.Injected  
  35.   print "Alt", event.Alt  
  36.   print "Transition", event.Transition  
  37.   print "---"  
  38.   # 同鼠标事件监听函数的返回值  
  39.   return True  
  40.   
  41. def main():  
  42.   # 创建一个“钩子”管理对象  
  43.   hm = pyHook.HookManager()  
  44.   # 监听所有键盘事件  
  45.   hm.KeyDown = onKeyboardEvent  
  46.   # 设置键盘“钩子”  
  47.   hm.HookKeyboard()  
  48.   # 监听所有鼠标事件  
  49.   hm.MouseAll = onMouseEvent  
  50.   # 设置鼠标“钩子”  
  51.   hm.HookMouse()  
  52.   # 进入循环,如不手动关闭,程序将一直处于监听状态  
  53.   pythoncom.PumpMessages()  
  54.   
  55. if __name__ == "__main__":  
  56.   main() 



发布了11 篇原创文章 · 获赞 68 · 访问量 40万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览