게임, 동영상 시청 등 경솔한 행동을 모니터링한 후, 근로자의 이직 경향도 모니터링합니다. 최근 일부 네티즌은 회사에서 직원의 이직 의사를 미리 알 수 있는 행동 감지 시스템을 설치했다고 말했습니다.
한동안 "직장인으로 일하기 너무 힘들다", "사생활이 전혀 없다"는 논의가 끝없이 이어졌습니다.
몇몇 친구들이 이렇게 물었습니다. 이런 종류의 모니터링이 기술적으로 가능합니까? 복잡합니까? 오늘은 몇 줄의 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()
키보드를 마음대로 탭하면 The에서 제어됩니다. 스테이션에서 다음 출력을 확인했습니다.
코드의 내용은 두 가지 방법입니다. 하나는 주요 이벤트를 수신하는 것이고, 다른 하나는 종료 이벤트를 수신하는 것입니다. -크기: 상속; 배경색: rgba(0, 0, 0, 0.06); 테두리 반경: 6px; 오버플로 랩: 중단 단어: 0px ;"> ESC 종료하려면 눌렀다가 떼세요. 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 这个模块来记录日志。
整个代码如下:
from pynput import keyboard, mouse from loguru import logger from 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()
运行之后,你就可以在同级目录下的日志文件中,看到这样的内容了:
本文主要通过 pynput
pynput
이 Python 모듈은 키보드 및 마우스 작업을 기록하는 방법을 보여줍니다. 이러한 간단한 코드 줄은 간단한 입력 모니터링에 적합하지만 채팅 기록과 같은 복잡한 명령문의 경우 채팅 기록을 복원하려면 로그에 NLTK 언어 처리를 사용해야 합니다. 🎜🎜물론, 여기서는 기술적 타당성에 대해서만 논의하고 있습니다. 타인의 사생활을 침해하는 행위는 하지 마시기 바랍니다. 게다가 이 코드만으로도 프로그램 녹화 작업이 있다는 것을 다른 사람들이 한눈에 알아차릴 수 있을 텐데요...🎜위 내용은 Python으로 컴퓨터 모니터링 프로그램 작성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!