Задать вопрос
TheMaxai
@TheMaxai

Как отловить нажатие клавиши ESC в консоли?

Я пробовал разные модули. Остановился на from pynput import keyboard
Но этот модуль отлавливает нажатие ESC даже если активировано другое окно...

Примерные вид конечной программы:
check=False
def key_check():
    global check
    if key == esc: check=True

timer = 30
key_check.start()
while 1:
    if check and timer > 10: sys.exit(1)
    timer-=1
key_check.stop()
  • Вопрос задан
  • 1074 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
TomasHuk
@TomasHuk
Нужно добавить проверку на класс окна:
import win32gui

def now():
    class_activ_window=win32gui.GetClassName(win32gui.GetForegroundWindow())
    if class_activ_window=='my_console': # изменить на реальный класс окна
        activ_window='my_consoler'
    else:
        pass
    return activ_window

Ваш код, например:
import get_activ_window

if key == esc and get_activ_window.now() == 'my_console':
    check=True
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
02 февр. 2025, в 19:21
500 руб./за проект
02 февр. 2025, в 19:02
50000 руб./за проект
02 февр. 2025, в 18:10
3000 руб./за проект