该功能的实现主要是利用多线程,键盘/鼠标事件监听,最后通过NLTK语言的处理,反向推送电脑操作记录等信息。业务逻辑并不复杂,一起来看看吧![阅读全文]安装相关的第三方库,一个是关于监控的处理,一个是关于日志记录模块,第三个是关于简单线程处理模块。1.安装pynput库,监听键盘鼠标事件2.安装日志处理,将相关模块导入代码块。#鼠标键盘监控frompynputimportkeyboard,mouse#日志处理fromloguruimportlogger#多线程处理fromthreadingimport线程将目标日志文件添加到logger代码处理器。logger.add('lister.log')写入鼠标按下时的处理函数。defon_keyboard_press(key):'''按下按键时记录按下的按键:paramkey::return:'''logger.debug(f'{key}:pressed')写鼠标抬起函数时的处理。defon_keyboard_release(key):'''Releasekeyhandlingfunction:paramkey:::return:'''ifkey==keyboard.Key.esc:returnFalse写鼠标点击、右键、滚轮的处理函数。defon_mouse_click(x,y,click,pressed):ifclick==mouse.Button.left:logger.debug('鼠标左键被按下')elifclick==mouse.Button.right:logger.debug('鼠标右键被按下')returnFalseelse:logger.debug('中间滚轮被按下')在键盘事件监听器中添加键盘相关的处理函数。deffunc_keyboard():'''keyboardpress/releasemonitoring:return:'''withkeyboard.Listener(on_press=on_keyboard_press,on_release=on_keyboard_release)askeyboard_listener:keyboard_listener.join()为鼠标事件添加鼠标相关的处理函数听众。deffunc_mouse_click():'''监听鼠标:return:'''withmouse.Listener(on_click=on_mouse_click)asmouse_listener:mouse_listener.join()在main()处理函数中,鼠标监听和键盘监听作为两个线程启动。if__name__=='__main__':'''Executionthread'''#定义键盘监听线程thread_keyboard=Thread(target=func_keyboard)#定义鼠标监听线程thread_mouse=Thread(target=func_mouse_click)#单独启动线程thread_keyboard.start()thread_mouse.start()最终可以得到一个键盘鼠标历史执行状态记录的日志文件,通过NLTK语言的处理反向推导计算机的操作内容。这部分就不演示了。【过往花絮】●如果你是java程序员,如何调用写好的python脚本其实很简单!●如何使用PyQt5一步步实现用户登录GUI界面和登录后跳转?●办公自动化:PDF文档转WORD文档,几行代码(代码练习)!●办公自动化:轻松提取PDF页面数据,生成Excel文件(代码练习)!●sched模块是一款非常好用的轻量级定时任务神器调度器!●不用命令行打包成exe,有??人写了UI应用,可视化UI界面打包python程序的方法!●发现一个秘密:python3.6以后,字典变成了有序集,我再次验证!●你能记住这么多内置函数吗?python的68个内置函数汇总!●必须知道的文件操作对象File,是python文件读写操作的利器!●你不知道的CS模式流程管理工具,状态监控、项目启停一目了然!●如何将python应用程序作为docker镜像运行?●python-celery是分布式异步任务处理和任务调度的插件!●Python远程服务操作工具:fabric、远程命令、本地命令、服务器操作工具!●You-get是一款非常棒的python插件,单行命令即可下载,推荐使用命令行下载工具!
