我有一個簡單的程序,執行以下操作: 1)用戶點的鼠標的某處, 2)然後用戶按下空間, 3)和計算機做一定量的左在這一點上點擊鼠標左鍵。答題吃了大量的處理器時間 - 蟒3
該程序正常工作,只有一個問題 - 它在4核處理器上處理30-50%的處理器時間。哪裏有問題?
import pyautogui
import ctypes
pyautogui.FAILSAFE = True
def get_space_state():
hllDll = ctypes.WinDLL ("User32.dll")
VK_SPACE = 0x20
return hllDll.GetKeyState(VK_SPACE)
while True:
if get_space_state() == -127 or get_space_state() == -128:
print ("yes")
pyautogui.click(clicks=40 , interval=0.01)
非常感謝。
感謝您的回答。 1)我應該如何以及在哪裏插入「睡眠」? 2)關於「兩次」 - 我改爲「如果get_space_state()<0:」 - 沒有什麼改進。 3)你知道初始化不是整個User32.dll的方法 - 但它是唯一需要的部分嗎? –
不幸的是,不,我不知道如何導出一個單一的函數,但是如果你只需要導出一次庫文件就沒有多大關係了 - 加載 – strangeqargo
你是對的。該問題僅在「if」之前插入一行:「time.sleep(0.02)」。其他一切都沒有關係。 –