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自动格式化json文件的方法
Mar 11 Python
Python中使用logging模块打印log日志详解
Apr 05 Python
Python基于回溯法子集树模板解决0-1背包问题实例
Sep 02 Python
Python3编码问题 Unicode utf-8 bytes互转方法
Oct 26 Python
Python操作Excel插入删除行的方法
Dec 10 Python
Matplotlib使用字符串代替变量绘制散点图的方法
Feb 17 Python
python 日志 logging模块详细解析
Mar 31 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
Python实现计算图像RGB均值方式
Jun 04 Python
django教程如何自学
Jul 31 Python
Python如何在bool函数中取值
Sep 21 Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 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程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
jquery 选择器部分整理
2009/10/28 Javascript
js限制文本框只能输入数字(正则表达式)
2012/07/15 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
bootstrap改变按钮加载状态
2014/12/01 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
Vue三种常用传值示例(父传子、子传父、非父子)
2018/07/24 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
初步探究Python程序的执行原理
2015/04/11 Python
使用python实现rsa算法代码
2016/02/17 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
python解析含有重复key的json方法
2019/01/22 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
路政管理专业个人自荐信范文
2013/11/30 职场文书
施工班组长岗位职责
2014/01/05 职场文书
护士岗位职责
2014/02/16 职场文书
大学信息公开实施方案
2014/03/09 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
教师自我剖析材料
2014/09/29 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android