# Reload

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

Reload

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

任何传递给原始脚本的 command-line parameters(命令行参数)不会被传递给新的实例。不要使用 Reload 来传递这样的参数。相应地，使用 Run 命令配合 A_AhkPath 和 A_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日