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文件,用于记录监控键盘、鼠标操作信息。如下图所示:
注:代码中所用到的pythoncom与pyhook模块可下载响应版本的whl文件再进入whl文件目录使用pip install
命令进行安装
更多关于python相关内容感兴趣的读者可查看本站专题:《python数据结构与算法教程》、《python socket编程技巧总结》、《python函数使用技巧总结》、《python字符串操作技巧汇总》、《python入门与进阶经典教程》及《python文件与目录操作技巧汇总》
希望本文所述对大家python程序设计有所帮助。