Reload
优质
小牛编辑
136浏览
2023-12-01
使用新的脚本实例替换当前正在运行的实例。
Reload
此命令可用于需要频繁改变的脚本. 通过给此命令设置热键, 您可以在编辑器中保存修改后轻松地重启脚本.
传递给原始脚本的 命令行参数 不会被传递给新的实例. 要传递这些参数, 请不要使用 Reload. 相反地, 把 Run 配合 A_AhkPath 和 A_ScriptFullPath 使用 (如果会以编译后的形式运行脚本, 还包括 A_IsCompiled). 此外,使用 /restart
作为首个参数(即在可执行文件名后),这样告诉程序要使用和 Reload 相同的动作。另请参阅: 命令行开关和语法.
当脚本重启时, 会从它原来的工作目录启动 (当它首次启动时生效的那个). 换句话说, SetWorkingDir 不会改变新实例的初始工作目录.
如果脚本无法重载 (可能由于语法错误), 那么原来的实例会继续运行. 因此, reload 命令后应跟着在重载失败时您想执行的动作 (例如使用 return 来退出当前子程序). 要在原来的实例中检测到失败, 请参照此例:
Reload Sleep 1000 ; 如果成功, 则 reload 会在 Sleep 期间关闭这个实例, 所以下面这行语句永远不会执行. MsgBox, 4,, The script could not be reloaded. Would you like to open it for editing? IfMsgBox, Yes, Edit return
相关
示例
^!r::Reload ; 设定 Ctrl-Alt-R 热键来重启脚本.