@Skolex

Почему не работает прерывание программы при нажатии кнопки?

Программа должна бесконечно выполнять действия, пока не остановлю её нажатием кнопки.
Проблема: она не останавливается. Где ошибка?

import pyautogui,msvcrt,sys
pyautogui.moveTo(1900, 510, duration=1.5)
pyautogui.click(button='right') #активируем окно другого приложения
k=0
while True: 
    #мышка кликает по коодинатам
    pyautogui.moveTo(1400, 483, duration=1.5)
    pyautogui.click(button='left')
    pyautogui.moveTo(510, 483, duration=1.5)
    pyautogui.click(button='left')
    if msvcrt.kbhit(): #если нажата клавиша
        k = ord(msvcrt.getch()) #считываем код клавиши
    if k == 18: # если клавиша alt
            sys.exit() # завершаем программу
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
@Vadimych1
Просто я.
Попробуйте использовать модуль keyboard. Вот примерный код:
import keyboard, os

def exit():
     os.exit()

keyboard.add_hotkey("Ваша клавиша", exit)  # Здесь exit - ваша функция, может быть любой.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
getch() не позволяет читать клавиши-модификаторы, типа Alt. Используй модуль keyboard.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы