Autohotkey 变量没有扩展,简单但令人困惑

Autohotkey 变量没有扩展,简单但令人困惑

请帮忙检查我的 Autohotkey(1.1.13.01) 脚本:

#!r:: Reload
Sleep 1000
MsgBox, 4,, The script could not be reloaded. Open it for editing?
IfMsgBox, Yes, Edit
return

global gg := 10

#!t:: MsgBox % "gg= " . gg

myMsgBox(text)
{
     MsgBox % "mynum:" . text
}


#!y:: myMsgBox(%gg%) # gg does not carry 10 into myMsgBox

无论 Alt+Win+t 还是 Alt+Win+q 都不会显示变量扩展。我希望gg=10在 MsgBox 中看到,但我只看到gg=

在此处输入图片描述

答案1

全局变量将在自动执行部分定义:

global gg := 10

#!r:: Reload
Sleep 1000
MsgBox, 4,, The script could not be reloaded. Open it for editing?
IfMsgBox, Yes, Edit
return

#!t:: MsgBox % "gg=" . gg

#!y:: myMsgBox(gg)

myMsgBox(text){
MsgBox % "mynum:" . text
}

答案2

您还应该在新行中添加 Reload 命令,否则其下面的行将不会被执行。

#!r:: ; new line here 
Reload
Sleep 1000
; ... rest of your script

要让热键执行多个命令,请将第一行放在热键定义下方,然后让最后一行返回。请参阅http://ahkscript.org/docs/Tutorial.htm#Launch

相关内容