怎么用Python写个摸鱼监控进程
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本篇内容主要讲解"怎么用Python写个摸鱼监控进程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Python写个摸鱼监控进程"吧!监控键盘如果公司
千家信息网最后更新 2024年09月22日怎么用Python写个摸鱼监控进程
本篇内容主要讲解"怎么用Python写个摸鱼监控进程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Python写个摸鱼监控进程"吧!
监控键盘
如果公司偷偷在我们的电脑上运行了一个后台进程,来监控我们的键盘事件,最简单的 python 写法大致是这样的:
from pynput import keyboard def on_press(key): print(f'{key} :pushed') def on_release(key): if key == keyboard.Key.esc: return False with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn: lsn.join()
随意敲击键盘,你就会从控制台看到这样的输出:
代码内容就是两个方法,一个是监听按键事件,另一个是监听退出事件——敲击 ESC 按键后释放就退出了。
监控鼠标
如果还要监听鼠标事件,那么上这段代码就行了:
from pynput import mouse def on_click(x, y, button, pressed): if button == mouse.Button.left: print('left was pressed!') elif button == mouse.Button.right: print('right was pressed!') return False else: print('mid was pressed!') # 定义鼠标监听线程with mouse.Listener(on_click=on_click) as listener: listener.join()
这段代码主要是监听鼠标的左右键点击操作,运行之后操作鼠标,就可以看到控制台打印如下结果:
细心的你一定会发现,每次点击事件,都打印了两次。这是因为按下和松开都会触发鼠标事件。
记录监控日志
键盘事件和鼠标事件都有了,是时候将二者结合起来,把用户的操作记录到日志了。这里我们用 loguru 来记录日志,这个 python 模块我们之前的文章也讲过。
整个代码如下:
from pynput import keyboard, mousefrom loguru import loggerfrom threading import Thread # 定义日志文件logger.add('moyu.log') def on_press(key): logger.debug(f'{key} :pushed') def on_release(key): if key == keyboard.Key.esc: return False # 定义键盘监听线程def press_thread(): with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn: lsn.join() def on_click(x, y, button, pressed): if button == mouse.Button.left: logger.debug('left was pressed!') elif button == mouse.Button.right: logger.debug('right was pressed!') else: return False # 定义鼠标监听线程def click_thread(): with mouse.Listener(on_click=on_click) as listener: listener.join() if __name__ == '__main__': # 起两个线程分别监控键盘和鼠标 t1 = Thread(target=press_thread()) t2 = Thread(target=click_thread()) t1.start() t2.start()
运行之后,你就可以在同级目录下的日志文件中,看到这样的内容了:
完整代码
#!/usr/bin/env python3# -*- coding: utf-8 -*-"""@author: 闲欢"""from pynput import keyboard, mousefrom loguru import loggerfrom threading import Thread# 定义日志文件logger.add('moyu.log')def on_press(key): logger.debug(f'{key} :pushed')def on_release(key): if key == keyboard.Key.esc: return False# 定义键盘监听线程def press_thread(): with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn: lsn.join()def on_click(x, y, button, pressed): if button == mouse.Button.left: logger.debug('left was pressed!') elif button == mouse.Button.right: logger.debug('right was pressed!') return False else: logger.debug('mid was pressed!')# 定义鼠标监听线程def click_thread(): with mouse.Listener(on_click=on_click) as listener: listener.join()if __name__ == '__main__': # 起两个线程分别监控键盘和鼠标 t1 = Thread(target=press_thread()) t2 = Thread(target=click_thread()) t1.start() t2.start()
到此,相信大家对"怎么用Python写个摸鱼监控进程"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
鼠标
监控
监听
事件
键盘
线程
日志
代码
进程
内容
两个
文件
运行
按键
控制台
方法
学习
控制
实用
更深
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全坚守三个阵地
软件开发合同审核意见
互联网科技微博名字
数据库的工作岗位
免费v2ray服务器
济南 app软件开发
怎么开未转变者服务器
银行网络安全宣传总结下一步
华北科技学院计算机网络技术
南京电商软件开发供应商
雷迪司科技软件开发
第六届网络安全竞赛
数据库三个设计阶段
管理服务器及软件
亲朋棋牌服务器关闭
贵州特时新互联网科技有限公司
sap它采用了什么数据库
幻塔安卓和苹果服务器是否分开
我的世界服务器生存的技巧
web服务器都用什么
运行mysql用什么服务器
数据库的工作岗位
扬州软件开发客户至上
人间地狱怎么租服务器价格
win10玩300英雄服务器
软件开发课程表
香肠派对服务器崩溃官方抱歉
我的世界服务器如何设置管理
工业互联网爱联科技有限公司
如何成应用软件开发者