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实现的ini文件操作类分享
Nov 20 Python
python+pandas生成指定日期和重采样的方法
Apr 11 Python
Python中property函数用法实例分析
Jun 04 Python
TensorFlow数据输入的方法示例
Jun 19 Python
Python SVM(支持向量机)实现方法完整示例
Jun 19 Python
python+os根据文件名自动生成文本
Mar 21 Python
对Tensorflow中tensorboard日志的生成与显示详解
Feb 04 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
Feb 28 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 Python
Django如何实现防止XSS攻击
Oct 13 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
JavaScript判断窗口是否最小化的代码(跨浏览器)
2010/08/01 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
js的2种继承方式详解
2014/03/04 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
jquery表单验证插件validation使用方法详解
2017/01/20 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
分析JS中this引发的bug
2017/12/12 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
Python中的各种装饰器详解
2015/04/11 Python
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
Python信息抽取之乱码解决办法
2017/06/29 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
巴西网上药房:onofre
2016/11/21 全球购物
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
信息管理专业推荐信
2013/10/29 职场文书
音乐教学反思
2014/02/02 职场文书
寄语学生的话
2014/04/10 职场文书
商铺门面租房协议书
2014/10/21 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python
python 爬取天气网卫星图片
2021/06/07 Python
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python