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中for循环详解
Jan 17 Python
python 动态获取当前运行的类名和函数名的方法
Apr 15 Python
Python中List.index()方法的使用教程
May 20 Python
Python实现文件复制删除
Apr 19 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
python中for用来遍历range函数的方法
Jun 08 Python
对python pandas 画移动平均线的方法详解
Nov 28 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
使用matlab或python将txt文件转为excel表格
Nov 01 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 Python
Pycharm打开已有项目配置python环境的方法
Jul 03 Python
Python如何读写字节数据
Aug 05 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 define函数的使用说明
2008/08/27 PHP
phpMyAdmin 安装配置方法和问题解决
2009/06/08 PHP
浅谈php扩展imagick
2014/06/02 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
javascript multibox 全选
2009/03/22 Javascript
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
javascript判断office版本示例
2014/04/11 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
python输入错误密码用户锁定实现方法
2017/11/27 Python
python机器学习之KNN分类算法
2018/08/29 Python
python搜索包的路径的实现方法
2019/07/19 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
python 简单的调用有道翻译
2020/11/25 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
this关键字的作用
2016/01/30 面试题
工作说明书范文
2014/05/07 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
中学生打架检讨书
2014/10/13 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
解析Redis Cluster原理
2021/06/21 Redis
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android