Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】


Posted in Python onSeptember 04, 2018

本文实例讲述了Python实现监控键盘鼠标操作。分享给大家供大家参考,具体如下:

# -*- coding: utf-8 -*-
import pythoncom
import pyHook
import time
def onMouseEvent(event):
  "处理鼠标事件"
  fobj.writelines('-' * 20 + 'MouseEvent Begin' + '-' * 20 + '\n')
  fobj.writelines("Current Time:%s\n" % time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()))
  fobj.writelines("MessageName:%s\n" % str(event.MessageName))
  fobj.writelines("Message:%d\n" % event.Message)
  fobj.writelines("Time_sec:%d\n" % event.Time)
  fobj.writelines("Window:%s\n" % str(event.Window))
  fobj.writelines("WindowName:%s\n" % str(event.WindowName))
  fobj.writelines("Position:%s\n" % str(event.Position))
  fobj.writelines('-' * 20 + 'MouseEvent End' + '-' * 20 + '\n')
  return True
def onKeyboardEvent(event):
  "处理键盘事件"
  fobj.writelines('-' * 20 + 'Keyboard Begin' + '-' * 20 + '\n')
  fobj.writelines("Current Time:%s\n" % time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()))
  fobj.writelines("MessageName:%s\n" % str(event.MessageName))
  fobj.writelines("Message:%d\n" % event.Message)
  fobj.writelines("Time:%d\n" % event.Time)
  fobj.writelines("Window:%s\n" % str(event.Window))
  fobj.writelines("WindowName:%s\n" % str(event.WindowName))
  fobj.writelines("Ascii_code: %d\n" % event.Ascii)
  fobj.writelines("Ascii_char:%s\n" % chr(event.Ascii))
  fobj.writelines("Key:%s\n" % str(event.Key))
  fobj.writelines('-' * 20 + 'Keyboard End' + '-' * 20 + '\n')
  return True
#打开日志文件
file_name = "E:\\hook_log.txt"
fobj = open(file_name, 'w')
#创建hook句柄
hm = pyHook.HookManager()
#监控键盘
hm.KeyDown = onKeyboardEvent
hm.HookKeyboard()
#监控鼠标
hm.MouseAll = onMouseEvent
hm.HookMouse()
#循环获取消息
pythoncom.PumpMessages()
#关闭日志文件
fobj.close()

运行后可在E盘根目录下创建一个hook_log.txt文件,用于记录监控键盘、鼠标操作信息。如下图所示:

Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】

注:代码中所用到的pythoncompyHook模块可点击此处下载响应版本的whl文件再进入whl文件目录使用pip install命令进行安装

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中使用Beautiful Soup库的超详细教程
Apr 30 Python
python获取当前时间对应unix时间戳的方法
May 15 Python
Python的Django框架中的表单处理示例
Jul 17 Python
利用ctypes提高Python的执行速度
Sep 09 Python
python常用函数详解
Sep 13 Python
Python实现的自定义多线程多进程类示例
Mar 23 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 Python
python中doctest库实例用法
Dec 31 Python
Pandas自定义选项option设置
Jul 25 Python
python处理json数据文件
Apr 11 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 #Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 #Python
selenium+python实现自动化登录的方法
Sep 04 #Python
python使用scrapy发送post请求的坑
Sep 04 #Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 #Python
Python全局变量与局部变量区别及用法分析
Sep 03 #Python
Python wxPython库Core组件BoxSizer用法示例
Sep 03 #Python
You might like
php cookie 作用范围?不要在当前页面使用你的cookie
2009/03/24 PHP
PHP的自定义模板引擎
2017/03/24 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python制作小说爬虫实录
2017/08/14 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
python开头的coding设置方法
2019/08/08 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
python随机生成库faker库api实例详解
2019/11/28 Python
python如何更新包
2020/06/11 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
介绍一下Make? 为什么使用make
2013/12/08 面试题
会计与审计专业大专生求职信
2013/10/03 职场文书
女大学生自我鉴定
2013/12/09 职场文书
小学英语教学反思案例
2014/02/04 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
2014年林业工作总结
2014/12/05 职场文书
专家推荐信范文
2015/03/26 职场文书
未中标通知书
2015/04/17 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
HDFS免重启挂载新磁盘
2022/04/06 Servers