python hook监听事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python hook监听事件相关的知识,希望对你有一定的参考价值。

python hook监听事件

作者:vpoet

日期:夏季

# -*- coding: utf-8 -*- # 
# by oldj http://oldj.net/ #
import pythoncom 
import pyHook    
def onMouseEvent(event): 
   # 监听鼠标事件     
   print "MessageName:",event.MessageName     
   print "Message:", event.Message     
   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)     
   print "Key:", event.Key     
   print "KeyID:", event.KeyID     
   print "ScanCode:", event.ScanCode     
   print "Extended:", event.Extended     
   print "Injected:", event.Injected     
   print "Alt", event.Alt     
   print "Transition", event.Transition     
   print "---"      
   # 同鼠标事件监听函数的返回值     
   return True 

def main():     
   # 创建一个“钩子”管理对象     
   hm = pyHook.HookManager()      
   # 监听全部键盘事件     
   hm.KeyDown = onKeyboardEvent     
   # 设置键盘“钩子”     
   hm.HookKeyboard()      
   # 监听全部鼠标事件     
   hm.MouseAll = onMouseEvent     
   # 设置鼠标“钩子”     
   hm.HookMouse()      
   # 进入循环。如不手动关闭,程序将一直处于监听状态     
   pythoncom.PumpMessages() 

if __name__ == "__main__":     
   main()



执行截图:

技术分享





以上是关于python hook监听事件的主要内容,如果未能解决你的问题,请参考以下文章

webpack源码分析2

自动化发布-GitLab WEB Hooks 配置

在同一个片段中实现多个事件监听器 - Android

前端Vue项目:旅游App-(16)home+hooks:窗口滚动到底部动态加载新数据抽取到hook

前端Vue项目:旅游App-(16)home+hooks:窗口滚动到底部动态加载新数据抽取到hook

JavaFX窗口拖动