Reload


用一个新的脚本实例来替换当前运行的实例。

Reload

这个命令对于频繁改变的脚本很有用。给这个命令指定热键,你可以在编辑器保存改动后轻松地重启脚本。

任何传递给原始脚本的 command-line parameters(命令行参数)不会被传递给新的实例。不要使用 Reload 来传递这样的参数。相应地,使用 Run 命令配合 A_AhkPathA_ScriptFullPath 变量(以及 A_IsCompiled 变量,如果脚本总是用在被编译过的形式)。同样,包含字串 /restart 作为第一个参数(也就是说,在可执行程序名字的后面),这告诉程序执行和 Reload 相同的动作。也可参见:command line switches and syntax(命令行开关和语法)。

当脚本重启时,它在它的原来的工作目录(实际上是当它被首次载入时的那个目录)载入。也就是说,SetWorkingDir 将不会改变被新的实例使用的工作目录。

如果脚本不能被重载 -- 也许是因为它有一个语法错误 -- 原来的脚本实例会继续运行。因此,Reload 命令后面应该跟着一旦有失败时你想要采取的任何措施(例如一个 return 来退出当前子程序)。要想使原来的实例检测到失败,仿照此例:

Reload
Sleep 1000 ; 如果成功,reload 将会在 Sleep 期间关闭这个实例,因此下一行命令将从不执行。
MsgBox, 4,, 脚本不能被重载。你想打开它来编辑吗?
IfMsgBox, Yes, Edit
return

相关命令

Edit

示例

^!r::Reload  ;指定 Ctrl-Alt-R 作为重启脚本的热键。
翻译:lwjiee   修正:天堂之门 menk33@163.com 2008年8月1日