AHK 按下按键时关闭循环

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

我创建了一个代码,应该发送“E”键,直到我按“T”键。现在,只有当我按住“T”键时,循环才会停止。有人可以帮我解决这个问题吗?

F12::
    loop
    {
    Send e
    Sleep 3500
    if (GetKeyState("t")) {
    break
    }
    }
return
autohotkey
2个回答
3
投票

我建议使用以下代码:

   F12::
        Loop    {
            Send, e
            Sleep 3500
            if break
                break
            }
        return
    
    T::
        break := !break
    return

上面的脚本会在你按下“T”后0到3500ms之间停止,因为你每次评估都有一个“睡眠3500”。

您的脚本仅在您按住“T”时停止,因为当循环处于 GETKEYSTATE 功能时必须按下“T”。

附言: 我的英语正在进步..


0
投票
F12::
    Loop {
        if (GetKeyState("F12", "t")) {
            Send e
            Sleep 3500
        }
    }
    return

~或者

F12::
    While (GetKeyState("F12", "t")) {
        Send e
        Sleep 3500
    }
    return
© www.soinside.com 2019 - 2024. All rights reserved.