У меня здесь довольно простой сценарий:
import win32api
def press():
lmb_status = win32api.GetKeyState(0x01)
return lmb_status < 0
while True:
if lmb_status():
print ("print this")
win32api.Sleep(1000)
print ("do not print this")
Проблема в том, что если я нажму левую кнопку мыши, сценарий будет выполнен целиком, но моя главная цель - сценарий должен быть остановлен, как только как ключ выпущен. Поэтому, если я сделаю щелчок (и если он выпущен менее чем за секунду), он должен активировать только первую команду «print this», но не должен печатать вторую. Но он делает так, что он не работает, как я хочу, чтобы он работал.
Как я мог заставить его работать?
Спасибо за вашу помощь.
РЕДАКТИРОВАТЬ 1:
После прочтения двух полезных комментариев, я думаю, что я в правильном направлении, но это все еще не работает как следует: Когда я отпускаю щелчок, происходит «Прерывание». выполняется только в том случае, если были выполнены обе команды печати.
import win32api
def click():
left = win32api.GetKeyState(0x01)
return left < 0
def noclick():
left = win32api.GetKeyState(0x01)
return left >= 0
while True:
function = False
win32api.Sleep(10)
if click():
function = True
elif noclick():
function = False
if function == False:
print("Interruption.")
if function == True:
print ("This should be printed.")
win32api.Sleep(1000)
print ("This should not.")