我的自动答题器会自行循环并且在完全关闭之前不会停止单击

问题描述 投票:0回答:1

我是新来的,过去几个小时一直在尝试制作自动点击器。我一直遇到的问题是程序模拟的点击次数被算作

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)
python loops winapi win32con
1个回答
0
投票

您不会退出 while 循环。

如果您不知道,没有任何中断或返回的

while True
循环会无限循环。

另一个问题可能是点击之间的间隔很短。据我所知,在 Windows API 中,注册的“单击”(鼠标按下和鼠标松开事件)之间有一个最短时间。试着把间隔弄大一点。

希望能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.