python hook监听事件详解

 更新时间:2022年03月23日 09:56:07   作者:vpoet  
这篇文章主要为大家详细介绍了python hook监听事件的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python hook监听事件的具体代码,供大家参考,具体内容如下

# -*- 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批量处理PDF文档输出自定义关键词的出现次数

    python批量处理PDF文档输出自定义关键词的出现次数

    这篇文章主要介绍了python批量处理PDF文档,输出自定义关键词的出现次数,文中有详细的代码示例,需要的朋友可以参考阅读
    2023-04-04
  • python实现mysql的单引号字符串过滤方法

    python实现mysql的单引号字符串过滤方法

    这篇文章主要介绍了python实现mysql的单引号字符串过滤方法,以一个较为详细的实例形式分析了Python针对MySQL的操作及字符串过滤的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 聊聊Python中的@符号是什么意思

    聊聊Python中的@符号是什么意思

    @符号用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰,下面这篇文章主要给大家介绍了关于Python中@符号是什么意思的相关资料,需要的朋友可以参考下
    2021-09-09
  • Python使用matplotlib.pyplot as plt绘图图层优先级问题

    Python使用matplotlib.pyplot as plt绘图图层优先级问题

    这篇文章主要介绍了Python使用matplotlib.pyplot as plt绘图图层优先级问题.文章围绕主题展开详细内容需要的小伙伴可以参考一下
    2022-04-04
  • python time.strptime格式化实例详解

    python time.strptime格式化实例详解

    在本篇文章里小编给大家整理的是一篇关于python time.strptime格式化实例详解内容,对此有兴趣的朋友们可以学习参考下。
    2021-02-02
  • Python编程中Python与GIL互斥锁关系作用分析

    Python编程中Python与GIL互斥锁关系作用分析

    GIL互斥锁用来保护Python世界里的对象,防止同一时刻多个线程执行Python字节码,确保线程安全,但也导致Python线程无法利用多核CPU优势,本文来探讨Python将来是否有可能去除GIL
    2021-09-09
  • 常用python编程模板汇总

    常用python编程模板汇总

    这篇文章主要为大家详细介绍了常用python编程模板,总结了Python编程常用模板,感兴趣的朋友可以参考一下
    2016-02-02
  • Python中tkinter的用户登录管理的实现

    Python中tkinter的用户登录管理的实现

    这篇文章主要介绍了Python中tkinter的用户登录管理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python中线程的MQ消息队列实现以及消息队列的优点解析

    Python中线程的MQ消息队列实现以及消息队列的优点解析

    消息队列(MQ,Message Queue)在消息数据传输中的保存作用为数据通信提供了保障和实时处理上的便利,这里我们就来看一下Python中线程的MQ消息队列实现以及消息队列的优点解析
    2016-06-06
  • Python远程控制Windows服务器的方法详解

    Python远程控制Windows服务器的方法详解

    在很多企业会使用闲置的 Windows 机器作为临时服务器,有时候我们想远程调用里面的程序或查看日志文件。本文分享了利用Python远程控制Windows服务器的方法,感兴趣的可以学习一下
    2022-05-05

最新评论