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的Tornado框架实现一个一对一聊天的程序
Apr 25 Python
python通过定义一个类实例作为ftp回调方法
May 04 Python
python实现发送和获取手机短信验证码
Jan 15 Python
python 爬虫出现403禁止访问错误详解
Mar 11 Python
python中学习K-Means和图片压缩
Nov 20 Python
windows 下python+numpy安装实用教程
Dec 23 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
Aug 30 Python
Python3 max()函数基础用法
Feb 19 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
Jul 04 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
Python中三维坐标空间绘制的实现
Sep 22 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
Dec 01 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
自动跳转中英文页面
2006/10/09 PHP
PHP 递归效率分析
2009/11/24 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
jQuery实现3D文字特效的方法
2015/03/10 Javascript
jQuery 1.9.1源码分析系列(十四)之常用jQuery工具
2015/12/02 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
JavaScript 深层克隆对象详解及实例
2016/11/03 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
jQuery - AJAX load() 实例用法详解
2019/08/27 jQuery
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python下载文件时显示下载进度的方法
2015/04/02 Python
Python3读取zip文件信息的方法
2015/05/22 Python
Sanic框架路由用法实例分析
2018/07/16 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
竞选学生会主席演讲稿
2014/04/24 职场文书
校园文化标语
2014/06/18 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
现实表现材料范文
2014/12/23 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
Android Studio实现带三角函数对数运算功能的高级计算器
2022/05/20 Java/Android
JavaScript设计模式之原型模式详情
2022/06/21 Javascript