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使用正则表达式检测密码强度源码分享
Jun 11 Python
详解Python中的type()方法的使用
May 21 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
python PyTorch参数初始化和Finetune
Feb 11 Python
从django的中间件直接返回请求的方法
May 30 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
Jun 18 Python
关于多元线性回归分析——Python&SPSS
Feb 24 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
DRF框架API版本管理实现方法解析
Aug 21 Python
Python中免验证跳转到内容页的实例代码
Oct 23 Python
Pytorch 如何实现LSTM时间序列预测
May 17 Python
Python turtle编写简单的球类小游戏
Mar 31 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
多重?l件?合查?(一)
2006/10/09 PHP
php smarty模版引擎中的缓存应用
2009/12/11 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
python中的闭包函数
2018/02/09 Python
Python 最大概率法进行汉语切分的方法
2018/12/14 Python
python按比例随机切分数据的实现
2019/07/11 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
浅谈Python 函数式编程
2020/06/20 Python
Python如何给函数库增加日志功能
2020/08/04 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
评析教师个人的自我评价
2014/02/19 职场文书
刑事辩护词范文
2015/05/21 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL
python垃圾回收机制原理分析
2022/04/13 Python