怎么用Python写个摸鱼监控进程(python,开发技术)

时间:2024-04-29 09:08:04 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

监控键盘

如果公司偷偷在我们的电脑上运行了一个后台进程,来监控我们的键盘事件,最简单的 python 写法大致是这样的:

frompynputimportkeyboarddefon_press(key):print(f'{key}:pushed')defon_release(key):ifkey==keyboard.Key.esc:returnFalsewithkeyboard.Listener(on_press=on_press,on_release=on_release)aslsn:lsn.join()

随意敲击键盘,你就会从控制台看到这样的输出:

怎么用Python写个摸鱼监控进程

代码内容就是两个方法,一个是监听按键事件,另一个是监听退出事件——敲击 ESC 按键后释放就退出了。

监控鼠标

如果还要监听鼠标事件,那么上这段代码就行了:

frompynputimportmousedefon_click(x,y,button,pressed):ifbutton==mouse.Button.left:print('leftwaspressed!')elifbutton==mouse.Button.right:print('rightwaspressed!')returnFalseelse:print('midwaspressed!')#定义鼠标监听线程withmouse.Listener(on_click=on_click)aslistener:listener.join()

这段代码主要是监听鼠标的左右键点击操作,运行之后操作鼠标,就可以看到控制台打印如下结果:

怎么用Python写个摸鱼监控进程

细心的你一定会发现,每次点击事件,都打印了两次。这是因为按下和松开都会触发鼠标事件。

记录监控日志

键盘事件和鼠标事件都有了,是时候将二者结合起来,把用户的操作记录到日志了。这里我们用 loguru 来记录日志,这个 python 模块我们之前的文章也讲过。

整个代码如下:

frompynputimportkeyboard,mousefromloguruimportloggerfromthreadingimportThread#定义日志文件logger.add('moyu.log')defon_press(key):logger.debug(f'{key}:pushed')defon_release(key):ifkey==keyboard.Key.esc:returnFalse#定义键盘监听线程defpress_thread():withkeyboard.Listener(on_press=on_press,on_release=on_release)aslsn:lsn.join()defon_click(x,y,button,pressed):ifbutton==mouse.Button.left:logger.debug('leftwaspressed!')elifbutton==mouse.Button.right:logger.debug('rightwaspressed!')else:returnFalse#定义鼠标监听线程defclick_thread():withmouse.Listener(on_click=on_click)aslistener:listener.join()if__name__=='__main__':#起两个线程分别监控键盘和鼠标t1=Thread(target=press_thread())t2=Thread(target=click_thread())t1.start()t2.start()

运行之后,你就可以在同级目录下的日志文件中,看到这样的内容了:

怎么用Python写个摸鱼监控进程

完整代码

#!/usr/bin/envpython3#-*-coding:utf-8-*-"""@author:闲欢"""frompynputimportkeyboard,mousefromloguruimportloggerfromthreadingimportThread#定义日志文件logger.add('moyu.log')defon_press(key):logger.debug(f'{key}:pushed')defon_release(key):ifkey==keyboard.Key.esc:returnFalse#定义键盘监听线程defpress_thread():withkeyboard.Listener(on_press=on_press,on_release=on_release)aslsn:lsn.join()defon_click(x,y,button,pressed):ifbutton==mouse.Button.left:logger.debug('leftwaspressed!')elifbutton==mouse.Button.right:logger.debug('rightwaspressed!')returnFalseelse:logger.debug('midwaspressed!')#定义鼠标监听线程defclick_thread():withmouse.Listener(on_click=on_click)aslistener:listener.join()if__name__=='__main__':#起两个线程分别监控键盘和鼠标t1=Thread(target=press_thread())t2=Thread(target=click_thread())t1.start()t2.start()
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:怎么用Python写个摸鱼监控进程的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Matplotlib中怎么调用pyplot模块中的figure()函数处理figure图形对象下一篇:

10 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18