zoukankan      html  css  js  c++  java
  • 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()
    



    执行截图:



  • 相关阅读:
    apache2.4+php7.3.2+mysql5.7
    redis 中的key值过期后,触发通知事件
    zookeeper之分布式锁以及分布式计数器(通过curator框架实现)
    SpringCloud学习笔记(4)——Zuul
    SpringCloud学习笔记(3)——Hystrix
    SpringCloud学习笔记(2)——Ribbon
    c++各种排序的简单实现
    c++动态规划dp算法题
    华为机试练习
    ubuntu遇到的 the system is runing low-graphics mode 问题
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7242972.html
Copyright © 2011-2022 走看看