我是新来的,过去几个小时一直在尝试制作自动点击器。我一直遇到的问题是程序模拟的点击次数被算作
while True:
if win32api.GetAsyncKeyState(0x01):
print("Button pressed")
click()
time.sleep(0.1)
检查我所做的,它不断循环并无限点击,直到我完全关闭它。
我尝试将“源”变量传递给单击函数,并在程序执行单击后立即禁用它,但结果证明没有用,因为程序开始双击而不是连续单击。这是完整的代码:
import win32api
import win32con
import time
LEFT_MOUSE_BUTTON = win32con.MOUSEEVENTF_LEFTDOWN
LEFT_MOUSE_BUTTON_RELEASE = win32con.MOUSEEVENTF_LEFTUP
def click():
win32api.mouse_event(LEFT_MOUSE_BUTTON, 0, 0, 0, 0)
time.sleep(0.1)
win32api.mouse_event(LEFT_MOUSE_BUTTON_RELEASE, 0, 0, 0, 0)
while True:
if win32api.GetAsyncKeyState(0x01):
print("Button pressed")
click()
time.sleep(0.1)
您不会退出 while 循环。
如果您不知道,没有任何中断或返回的
while True
循环会无限循环。
另一个问题可能是点击之间的间隔很短。据我所知,在 Windows API 中,注册的“单击”(鼠标按下和鼠标松开事件)之间有一个最短时间。试着把间隔弄大一点。
希望能帮到你。