如何更新 AutoHotkey GUI Text 控件?

Ril*_*n42 3 user-interface autohotkey

我正在尝试显示和更新 gui 元素(文本字符串)。有人能告诉我我在这里做错了什么吗?初始文本永远不会被循环中的更新文本替换。

kills=0

#n::
Gui,Add,Text,vStatus, starting the killing
Gui,Show,w250 h375
Loop
{
GuiControl,,vStatus, killed %kills% Glorks!
kills+=1
Sleep,3000
}
return
Run Code Online (Sandbox Code Playgroud)

vas*_*111 6

这是工作代码:

kills=0

#n::
    Gui,Add,Text,vStatus, starting the killing
    Gui,Show,w250 h375, Glorks counter
    Loop
    {
        IfWinNotExist, Glorks counter
        {
            Gui, Destroy
            return
        }
        GuiControl,,Status, killed %kills% Glorks!
        kills+=1
        Sleep,3000
    }
return
Run Code Online (Sandbox Code Playgroud)

你的错误:

  1. 您应该使用Status而不是vStatusGuiControl命令中。

  2. 当您关闭 GUI 时,您并没有停止循环,因此IfWinNotExist检测窗口是否存在,如果不存在,它将销毁所有 gui 变量并退出循环。所以你可以再次按下Win+n并再次启动 gui。

注意:如果你想从0gui 启动时开始计算每次杀戮,然后移动kills=0到右边#n::