欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-04-06 09:10:23
本文实例讲述了python实现监控键盘鼠标操作。分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pythonco...

本文实例讲述了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 socket编程技巧总结》、《python函数使用技巧总结》、《python字符串操作技巧汇总》、《python入门与进阶经典教程》及《python文件与目录操作技巧汇总

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