2
測試AutoHotkey腳本時,有時會忘記在更改後重新加載腳本。這導致我意外測試了我的腳本的舊版過時版本。修改後自動重新加載AutoHotkey腳本
而不是手動重新加載腳本,我想讓腳本自動重新加載,如果他們已被修改。
如何在每次修改.ahk
文件時使AutoHotkey重新加載當前腳本?
測試AutoHotkey腳本時,有時會忘記在更改後重新加載腳本。這導致我意外測試了我的腳本的舊版過時版本。修改後自動重新加載AutoHotkey腳本
而不是手動重新加載腳本,我想讓腳本自動重新加載,如果他們已被修改。
如何在每次修改.ahk
文件時使AutoHotkey重新加載當前腳本?
附近的某個地方腳本的開始,在auto-execute section
#SingleInstance force
FileGetTime ScriptStartModTime, %A_ScriptFullPath%
SetTimer CheckScriptUpdate, 100, 0x7FFFFFFF ; 100 ms, highest priority
隨時隨地在腳本(通常介於底部):
CheckScriptUpdate() {
global ScriptStartModTime
FileGetTime curModTime, %A_ScriptFullPath%
If (curModTime <> ScriptStartModTime) {
Loop
{
reload
Sleep 300 ; ms
MsgBox 0x2, %A_ScriptName%, Reload failed. ; 0x2 = Abort/Retry/Ignore
IfMsgBox Abort
ExitApp
IfMsgBox Ignore
break
} ; loops reload on "Retry"
}
}
我需要手動定義'%A_ScriptFullPath%' ? –
@StevenVascellaro nope,檢查內置變量在這裏:https://autohotkey.com/docs/Variables.htm#prop – LogicDaemon
添加此腳本後,我的AHK文件有時重新加載爲兩個重複的實例同時運行 –