问题描述
import time
import pyautogui
from pyautogui import *
import keyboard
from PIL import ImageGrab
import os
import win32api,win32con
import cv2
import pyperclip
from pynput.keyboard import Key,Listener
import PyTesseract
##1340,182,1777,213
test = 0
def alertf1(c):
global test
while c == 1:
if keyboard.is_pressed('f1'): # if key 'f1' is pressed
print('f1 has been pressed')
c = 0
time.sleep(0.1)
test = test + 1
break
else:
print('checking if anything is destroyed')
time.sleep(1)
if pyautogui.locateOnScreen('destroy2.png',region=(1340,230)):
print('something got destroyed!')
time.sleep(0.1)
pyautogui.keyDown('ctrl')
time.sleep(0.1)
pyautogui.keyDown('tab')
pyautogui.keyUp('ctrl')
pyautogui.keyUp('tab')
time.sleep(0.5)
for char in '@':
pyperclip.copy(char)
pyautogui.hotkey('ctrl','v',interval=0.1)
time.sleep(0.1)
pyautogui.write('everyone Enemies/Red Logs! Something has been destroyed.')
time.sleep(0.1)
pyautogui.press('enter')
time.sleep(5)
pyautogui.click(x=1860,y=50)
time.sleep(5)
else:
if keyboard.is_pressed('f1'): # if key 'f1' is pressed
print('f1 has been pressed')
c = 0
time.sleep(0.1)
test = test + 1
break
def on_press(key):
global test
if test > 0 and key == Key.f1:
c = 0
if key == Key.f1 and test == 0:
print('before alert f1 pressed')
time.sleep(0.1)
test = test + 1
alertf1(1)
if key == Key.f1 and test > 1:
test = 0
with Listener(on_press=on_press) as listener:
listener.join()
def main():
while True:
time.sleep(0.1)
print('on press going Now')
on_press(key)
if __name__ == '__main__':
main()
我的问题是我希望打开/关闭开关使用相同的键 我想不出一种方法来区分我何时按下键和程序只是在循环。
像 F1 将启动功能警报,它将永远循环,直到我按 F1,问题是,if keyboard.is_pressed('f1'):
不是一个好的解决方案
因为如果代码在其他地方它不会识别我按了 f1
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)