AHK Gui 按钮可以作为切换按钮使用吗?

AHK Gui 按钮可以作为切换按钮使用吗?

我一直在寻找如何让 GUI 按钮充当简单循环的切换按钮。

我被难住了,需要帮助。这是我的代码。

#NoEnv

 #SingleInstance force

 #MaxThreadsPerHotkey 2

Gui, show, NoActivate w200 h200, TEST


Gui, Add, button, vbutton gbutton w80, button

return

button:

loop {

sendinput, c 

sleep, 700

}

return

escape::
exitapp

答案1

您的循环没有可以使其停止的退出条件。

loop
{
    while sendingKeys
    {
        sendinput c
        sleep, 700
    }
    sleep 100
}

您可以将这段代码设置为立即运行(而不是放在按钮子程序中)。您将在循环之前初始化 sendingKeys 以作为程序启动时的默认设置。外循环仍然没有退出条件,它只是永远运行,直到 Escape 触发 ExitApp 事件(这在您的情况下可能工作得很好)。

sendingKeys := False    ; make the user toggle first before loop turns on

在按钮子程序中,您只需切换 sendingKeys 变量以在真和假之间切换,当变量改变状态时,这将启动内部循环或停止内部循环。

button:

    sendingKeys := not sendingKeys

return

当内循环未执行时,外循环仅轮询并继续运行,直到内循环再次开始执行。

相关内容