Reload

현재 실행중인 스크립트의 실체를 새로운 실체로 교체합니다.

Reload

이 명령어는 자주 변경되는 스크립트에 유용합니다. 핫키를 이 명령어에 할당하면, 변경을 편집기에 저장한 후에 쉽게 스크립트를 재시작할 수 있습니다.

By default, the script can also be reloaded via its tray icon or main window.

[v1.1.34+]: If the /include switch was passed to the script's current instance, it is automatically passed to the new instance.

Any other command-line parameters passed to the script's current instance are not passed to the new instance. 그런 매개변수를 전달하려면, Reload를 사용하지 마십시오. 대신에, A_AhkPath 그리고 A_ScriptFullPath와 함께 Run을 사용하십시오 (그리고 스크립트가 컴파일된 형태로 사용되었다면 A_IsCompiled와 함께 사용하십시오). 또, 문자열 /restart를 첫 매개변수로 (즉, 실행파일의 이름 뒤에) 포함하십시오. 그러면 프로그램은 Reload와 같은 행위를 사용합니다. 다음 참조: 명령어 줄 스위치와 구문.

스크립트가 시작할 때, 그의 원래 작업 디렉토리에서 (처음 기동될 때 적용되었던 디렉토리에서) 기동합니다. 다른 말로, SetWorkingDir는 새 실체에 사용될 작업 디렉토리를 바꾸지 않습니다.

스크립트를 재적재 할 수 없으면 -- 아마도 구문 에러가 있기 때문에 -- 스크립트의 원래 실체가 계속 실행됩니다. 그러므로, 재적재 명령어는 다음에 실패시에 취하고 싶은 조치가 따라와야 합니다 (예를 들어 return이면 현재 서브루틴을 종료합니다). 원래 실체가 실패를 탐지하도록 만들려면, 다음 예제를 따르십시오:

Reload
Sleep 1000 ; 성공하면, 재적재 때문에 이 실체는 Sleep하는 동안 닫힌다. 그래서 아래의 줄은 절대로 도달하지 못한다.
MsgBox, 4,, 스크립트를 재적재할 수 없습니다. 편집을 위해 여시겠습니까?
IfMsgBox, Yes, Edit
return

Previous instances of the script are identified by the same mechanism as for #SingleInstance, with the same limitations.

If the script allows multiple instances, Reload may fail to identify the correct instance. The simplest alternative is to Run a new instance and then exit. 예를 들어:

if A_IsCompiled
    Run "%A_ScriptFullPath%" /force
else
    Run "%A_AhkPath%" /force "%A_ScriptFullPath%"
ExitApp

Edit

예제

Press a hotkey to restart the script.

^!r::Reload  ; Ctrl+Alt+R