修改后自动重新加载AutoHotkey脚本

Ste*_*ica 5 autohotkey

测试AutoHotkey脚本时,有时会忘记在进行更改后重新加载脚本。这导致我不小心测试了脚本的旧的,过时的版本。

我希望手动修改脚本,而不是手动重新加载脚本。

每当.ahk修改文件时,如何使AutoHotkey重新加载当前脚本?

Log*_*mon 6

在脚本开始附近的自动执行部分

#SingleInstance force
FileGetTime ScriptStartModTime, %A_ScriptFullPath%
SetTimer CheckScriptUpdate, 100, 0x7FFFFFFF ; 100 ms, highest priority
Run Code Online (Sandbox Code Playgroud)

脚本中的任何位置(通常在底部的某个位置):

CheckScriptUpdate() {
    global ScriptStartModTime
    FileGetTime curModTime, %A_ScriptFullPath%
    If (curModTime == ScriptStartModTime)
        return
    SetTimer CheckScriptUpdate, Off
    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"
}
Run Code Online (Sandbox Code Playgroud)