怎么用Python写个摸鱼监控进程
发表于:2024-12-04 作者:千家信息网编辑
千家信息网最后更新 2024年12月04日,本篇内容主要讲解"怎么用Python写个摸鱼监控进程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Python写个摸鱼监控进程"吧!监控键盘如果公司
千家信息网最后更新 2024年12月04日怎么用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安全错误
数据库的锁怎样保障安全
网络安全整机生产
海康服务器磁盘阵列说明书
微信无法连接到服务器怎么弄
企业适用法律法规文本数据库
德玛西亚网络技术021
数据库怎么放音乐
租服务器什么意思
软件开发面试会问你什么
网络安全的实习周志
网络安全与执法专业好就业吗
手机电脑连接服务器名称和密码
网络安全编程病毒的自删除技术
酒店网络安全整改
跑竞价服务器
服务器电脑显示器白屏
阳泉租房软件开发
网络安全法31
宁波数字化智慧医院软件开发
邮箱服务器设置
妈妈家互联网科技有限公司
山东卡沙网络技术有限公司
dm数据库如何查看编码
软件开发是否可以抵扣
付先生软件开发
什么是服务器托管
网络安全全民学网址
软件开发的市场定位
爱享互联网科技公司崔青青
arcmap 数据库合并
北京星网锐捷网络技术公司