python hook监听事件详解


Posted in Python onOctober 25, 2018

本文实例为大家分享了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 hook监听事件详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用logging模块打印log日志详解
Apr 05 Python
Python if语句知识点用法总结
Jun 10 Python
Python将多个list合并为1个list的方法
Jun 27 Python
详解将Django部署到Centos7全攻略
Sep 26 Python
python binascii 进制转换实例
Jun 12 Python
python selenium爬取斗鱼所有直播房间信息过程详解
Aug 09 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
May 26 Python
Java多线程实现四种方式原理详解
Jun 02 Python
浅谈keras.callbacks设置模型保存策略
Jun 18 Python
python接入支付宝的实例操作
Jul 20 Python
解决python 执行shell命令无法获取返回值的问题
Dec 05 Python
详解Python 中的 defaultdict 数据类型
Feb 22 Python
python根据list重命名文件夹里的所有文件实例
Oct 25 #Python
python学习之hook钩子的原理和使用
Oct 25 #Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 #Python
python批量修改图片后缀的方法(png到jpg)
Oct 25 #Python
python bmp转换为jpg 并删除原图的方法
Oct 25 #Python
virtualenv 指定 python 解释器的版本方法
Oct 25 #Python
解决python3读取Python2存储的pickle文件问题
Oct 25 #Python
You might like
配置最新的PHP加MYSQL服务器
2006/10/09 PHP
php 数组的一个悲剧?
2011/05/11 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
js里的prototype使用示例
2010/11/19 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
原生js实现放大镜
2017/02/20 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
师范生自我鉴定范文
2013/10/05 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
优质服务演讲稿
2014/05/14 职场文书
比赛口号大全
2014/06/10 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
2014年电厂工作总结
2014/12/04 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
解析mybatis-plus中的resultMap简单使用
2021/11/23 Java/Android