У меня есть скрипт python, запускающий программу .exe в Windows. Я хочу завершить эту программу, нажав «ESC». Но я не вижу нажатия клавиши в моей программе Python, она читается программой .exe и потребляется. Как запустить программу .exe, чтобы она не читалась с помощью stdin/keyboard. Мне не нужно отправлять какие-либо команды клавиатуры в программу .exe.Python предотвращает подпроцесс от потребления keypress
Это код, я использую:
pid = subprocess.Popen(functionCall)
while ((pid.poll()) or (pid.returncode == None)):
if msvcrt.kbhit() and msvcrt.getch()==chr(27):
print("ESC detected")
pid.kill()
pid.wait()
else:
print("Sleep")
time.sleep(1)
print("Exit while")
Поскольку .exe является активным приложением вы не собираетесь получить нажатия клавиш в программе. Ручка ESC в вашем .exe. –