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将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
在Windows8上的搭建Python和Django环境
Jul 03 Python
Python的Flask框架中的Jinja2模板引擎学习教程
Jun 30 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
Apr 24 Python
基于python连接oracle导并出数据文件
Apr 28 Python
Python Excel vlookup函数实现过程解析
Jun 22 Python
python 利用zmail库发送邮件
Sep 11 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 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版自动生成文章摘要
2008/07/23 PHP
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
jQuery 性能优化手册 推荐
2010/02/23 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
javascript轮播图算法
2016/10/21 Javascript
tab栏切换原理
2017/03/22 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
Python socket编程实例详解
2015/05/27 Python
Python内置模块turtle绘图详解
2017/12/09 Python
python字符串string的内置方法实例详解
2018/05/14 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
PyQt 如何创建自定义QWidget
2021/03/24 Python
教师演讲稿范文
2014/01/08 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
经管应届生求职信范文
2014/05/18 职场文书
工商管理自荐书
2014/07/06 职场文书
2014年酒店前台工作总结
2014/11/14 职场文书
2014年消防工作总结
2014/11/21 职场文书
劳资员岗位职责
2015/02/13 职场文书
聘任合同书
2015/09/21 职场文书