此项功能的实现主要是使用了多线程、键盘/鼠标事件监听,最后通过NLTK语言的处理,从而反向推出电脑的操作记录等信息。业务逻辑并不复杂,我们一起来看看吧!

【阅读全文】

安装相关的第三方库,一是关于监听的处理、二是关于日志的记录模块、三是关于简单的线程处理模块。

1、安装pynput库监控键盘、鼠标事件

2、安装日志处理

将相关的模块导入到代码块中。

# 鼠标键盘监控
from pynput import keyboard, mouse
# 日志处理
from loguru import logger
# 多线程处理
from threading import Thread

将目标日志记录文件加入到logger代码处理器中。

logger.add('lister.log')

编写鼠标被按下时的处理函数。

def on_keyboard_press(key):'''按键时记录所按下的键:param key::return:'''logger.debug(f'{key} :被按下了')

编写鼠标抬起时的处理函数。

def on_keyboard_release(key):'''释放按键处理函数:param key::return:'''if key == keyboard.Key.esc:return False

编写鼠标单击、右击以及滑轮的处理函数。

def on_mouse_click(x, y, click, pressed):if click == mouse.Button.left:logger.debug('鼠标左键按下了')elif click == mouse.Button.right:logger.debug('鼠标右键按下了')return Falseelse:logger.debug('中间滚轮按下了')

将键盘相关的处理函数加入到键盘事件的监听中。

def func_keyboard():'''键盘的按下/释放的监听:return:'''with keyboard.Listener(on_press=on_keyboard_press, on_release=on_keyboard_release) as keyboard_listener:keyboard_listener.join()

将鼠标相关的处理函数加入到鼠标事件的监听中。

def func_mouse_click():'''监听鼠标:return:'''with mouse.Listener(on_click=on_mouse_click) as mouse_listener:mouse_listener.join()

在main()的处理函数中将鼠标监听、键盘监听分别作为两个线程启动。

if __name__ == '__main__':'''执行线程'''# 定义键盘监听线程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 模块中巨好用的轻量级定时任务神器scheduler!

● 不用再使用命令行打包成exe,有人写出了UI应用,可视化UI界面对python程序进行打包的方法!

● 发现一个秘密:既python3.6之后字典竟然变成了有序集合,我再次验证了一下!

● 这么多的内置函数能记住吗?对python的68个内置函数分类总结!

● 必须要会的文件操作对象File,python文件读写操作利器!

● 你不知道的CS模式的进程管理工具,状态监测、项目启停一目了然!

● 如何将一个python应用以docker镜像的方式来运行?

● python-celery专注于实现分布式异步任务处理、任务调度的插件!

● python远程服务操作工具:fabric,远程命令、本地命令、服务器操作利器!

● python超赞插件you-get,执行一行命令即可下载、命令行下载工具推荐!

如何通过pynput与日志记录实现键盘、鼠标的监听行为?相关推荐

  1. flex(入门)之timer的使用,键盘,鼠标的监听

    package {import flash.display.Shape;import flash.display.Sprite;import flash.events.Event;import fla ...

  2. python获取键盘事件_50-用Python监听鼠标和键盘事件

    PyHook是一个基于Python的"钩子"库,主要用于监听当前电脑上鼠标和键盘的事件.这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在W ...

  3. oralce 数据库监听日志状态及目录:查看监听(使用grid用户登陆):

    数据库监听日志状态及目录:查看监听(使用grid用户登陆): su - grid 密码:grid [grid@db1 ~]$ lsnrctl LSNRCTL> status LSNRCTL> ...

  4. vue用户行为收集_vue 实现移动端键盘搜索事件监听

    1.首先注意,input的type="serch" 2.监听keypress事件 (1)KeyDown.KeyUp 事件 这些事件是当一个对象具有焦点时按下 ( KeyDown ) ...

  5. ionic3开发系列——实现对手机软件键盘按键的监听

    最近开发项目,上级boss给出的一个需求是:在input输入框输入值后,点击手机软件键盘的确认键之后对文本框中的值进行下一步的操作. 百度了好多都没有找到关于ionic3相关的教程或者解决办法, 看到 ...

  6. js对手机键盘事件的监听

    js还没有办法对手机软键盘直接进行监听的,但是可以有其他角度来判断软键盘是否弹起.比如输入框是否获取焦点等. focusin和focusout支持冒泡,对应focus和blur, 使用focusin和 ...

  7. Android 键盘监听 键盘展开/收起监听

    如和优雅地实现键盘展开/收起监听 Android 键盘的展开与收起一直是个很遭人诟病的东西 方法各式各样都有,但是基本都不是很好用,有各种限制 这里编写了一个优雅地实现方式,利用屏幕实际高度与显示区域 ...

  8. C# 实现按键精灵 记录录制键盘鼠标

    是一个非常实用的键盘鼠标脚本录制工具,通过它你可以轻松地进行脚本录制,简单易用,不需要任何编程知识就能做出功能强大的脚本,只要你在电脑前用双手可以完成的动作,都可以替你完成. 下载地址: 下载软件 特 ...

  9. java完成键盘动作_java实现鼠标和键盘动作后台监听

    有的时候需要我们对鼠标和键盘的动作(鼠标的移动,键盘的点击)进行监听,比如按键记录,鼠标坐标记录等. 我们使用JNA来实现以上的操作 tips:JNA类库使用一个很小的本地类库sub 动态的调用本地代 ...

  10. python监听文件更改记录_如何用机器人监听老板微信?

    随着微信社交的兴起,我们加入的群也越来越多,一个不经意就被拉入好几个群,群是大家协同交流的平台,但是微信群却越来越泛滥,不知道大家有没有统计过自己浪费在毫无营养的群中的时间? 因为群质量或者群太吵的 ...

最新文章

  1. WebMvcConfigurerAdapter过时了替代的方法
  2. 东京见闻:快速走红日本市场 阿里云的三大秘密
  3. numpy添加元素_科研速递 | 花费15年众望所归!NumPy论文终登上Nature!
  4. UVA 10142 Australian Voting(模拟)
  5. SimpleAdapter的用法
  6. 蒙克:云计算安全问题被夸大
  7. b500k带开关电位器内部构造_R138带开关大功率大电流电位器 B10K B500K
  8. win7需要计算机管理员权限,Win7系统提示“需要管理员权限”如何解决?
  9. linux如何查看所有的用户和组信息?
  10. frameset ,iframe的使用
  11. Hibernate→HQL、query.list()返回数据类型、查询相关语句、分页、原生SQL、@注解、持久化对象状态及生命周期、一多关系、继承映射关系、逆向工程
  12. 3星|《三联生活周刊》2017年43期:美国就医可以获取最新的治疗技术(主要是新药)和先进的医院服务(以病人为中心的医生团队服务)...
  13. ACR122U Android端应用开发入道指南
  14. Pr视频、图片局部放大画面或画面移动
  15. linux 网卡RX丢包,解决网卡丢包问题,以及丢包问题解决后系统网络还是慢的问题...
  16. Wondershare Flash Gallery Factory
  17. 神经网络预测鸢尾花的种类
  18. 关于我国计算机软件著作权保护的调研报告,我国计算机软件著作权保护问题研究...
  19. GUI程序中添加控制台调试
  20. 在html页面中使用模板继承,HTML5下的模板继承

热门文章

  1. AMR 文件解析及编解码流程
  2. 实时调度论文中经常出现的术语 ties broken arbitrary的意思
  3. 爬取网易严选某种衣服商品数据,实现可视化,结论有点吓人
  4. 微信小程序图片懒加载(lazy-load,感觉不生效)
  5. Android热更新方案Robust——美团热更新(热修复)使用介绍
  6. 【微信小程序】表单验证WxValidate.js使用
  7. 2021-最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)---JavaScript篇
  8. 机器学习 Python scikit-learn 中文文档(10)Scikit-Learn 处理文本数据
  9. 力推个p站相关站点 画师美图和各种工具方法
  10. 两台计算机如何打印机共享打印机,多台电脑怎样共享一台打印机?方法就是这么简单!...