怎么用Python写个摸鱼监控进程
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"怎么用Python写个摸鱼监控进程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Python写个摸鱼监控进程"吧!监控键盘如果公司
千家信息网最后更新 2025年01月19日怎么用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安全错误
数据库的锁怎样保障安全
互联网与科技公司
辽宁发改委专家数据库
tp5 数据库语句
企业网络安全管理机构
世界先进网络技术
游戏移动软件开发
怎么用云服务器做一个简历
关于网络安全的电视剧
企业级服务器价格是多少
国拍服务器测试
免费网络svn服务器
安装战眼服务器失败原因
国外的软件开发网站
丽水嵌入式软件开发自学步骤
基于网络安全视角下
专业商城软件开发哪家好
软件开发多少课程
数据库in是什么软件
网络安全入门github
网络安全与生产需求的关系
什么是软件开发生产率
微山软件开发设计
网络安全法第三条 将在履行
数据库临时表和正式表
企业如何选择实用安全的服务器
有哪些最新的数据库技术
服务器渠道
大奥国际软件开发
合肥网络安全技术培训
酒店服务器管理重启