Корпус: Я пытаюсь написать простую программу, которая записывает клавиатуру до тех пор, пока не произойдет смена окна. Например: если я перехожу с notepad.txt на любую вкладку Chrome, программа останавливает запись и сохраняет то, что было написано на клавиатуре.
Проблема: keyboard.record - это сам цикл, и он останавливается только тогда, когда прерывается событием клавиатуры, как в моем коде с клавишей 'esc'. Я думаю, что мне нужно использовать многопоточность (как в моем коде), поэтому запись и изменение окна отслеживаются в отдельных циклах. Как остановить запись при смене окна?
Код:
import keyboard
from win32gui import GetWindowText, GetForegroundWindow
import time
import _thread
def recording():
recorded = keyboard.record(until = 'esc')
def window_change():
current_window = GetWindowText(GetForegroundWindow())
while True:
new_window = GetWindowText(GetForegroundWindow())
if current_window != new_window:
current_window = new_window
print (GetWindowText(GetForegroundWindow()))
time.sleep(0.5)
_thread.start_new_thread(recording,())
_thread.start_new_thread(window_change(),())