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 相关文章推荐
使用Django的模版来配合字符串翻译工作
Jul 27 Python
Python自动发邮件脚本
Mar 31 Python
不可错过的十本Python好书
Jul 06 Python
使用pygame模块编写贪吃蛇的实例讲解
Feb 05 Python
pandas DataFrame数据转为list的方法
Apr 11 Python
Python matplotlib的使用并自定义colormap的方法
Dec 13 Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 Python
python面试题之列表声明实例分析
Jul 08 Python
python实现桌面气泡提示功能
Jul 29 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
Feb 20 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
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
php 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
python中的全局变量用法分析
2015/06/09 Python
Python 功能和特点(新手必学)
2015/12/30 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
python中dict使用方法详解
2019/07/17 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
初中三好学生事迹材料
2014/01/13 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python
Android实现图片九宫格
2022/06/28 Java/Android