我用 Python 编写了一个应该执行双击的程序。换句话说,当我按下鼠标左键时,程序应该再次单击。然而,当我单击鼠标左键时,即使程序只单击了一次,光标也开始严重滞后。这是程序代码:
from pynput.mouse import Listener
import pyautogui
def on_click(x, y, button, pressed):
if button == button.left and pressed:
print("wawawa")
pyautogui.click()
with Listener(on_click=on_click) as listener:
listener.join()
控制台只打印了两条“哇哇”消息。换句话说,程序只点击了一次
尚未使用
pynput
进行测试并使用 pyWinhook。 Injected
是一个标志,用于确定点击是否由程序而不是用户触发。
import threading
import pyautogui
import pyWinhook
import pythoncom
clickCount = 0
def onclick(event):
global clickCount
print(event.__dict__)
if event.Injected and clickCount == 1:
clickCount = 0
return False
clickCount += 1
threading.Thread(target=pyautogui.click).start()
return True
hm = pyWinhook.HookManager()
hm.SubscribeMouseAllButtonsDown(onclick)
hm.HookMouse()
pythoncom.PumpMessages()
hm.UnhookMouse()