说我运行了自动密钥脚本C:\path\to\my\script
。有没有办法定义一个重新启动它的热键?
答案 0 :(得分:9)
为了防止重复实例,我通常不会重新启动脚本,而是使用内置函数Reload。我用 Ctrl + Win + Alt + R 启动它并使用 Ctrl + 赢 + Alt + E 编辑主AHK脚本。
^#!r::Reload
实际上,我的脚本看起来像这样:
^#!r::
Send, ^s ; To save a changed script
Sleep, 300 ; give it time to save the script
Reload
Return
^!#e::Edit
事实上,在我的脚本顶部,我有这个给我一个视觉和音频指示脚本重新启动:
#SingleInstance Force
#installKeybdHook
#Persistent
Menu, Tray, Icon , Shell32.dll, 25, 1
TrayTip, AutoHotKey, Started, 1
SoundBeep, 300, 150
Return
答案 1 :(得分:1)
创建一个运行脚本的热键,在这种情况下是相同的脚本,然后退出。
somehotkey::
Run, C:\path\to\my\script.ahk
ExitApp
return
答案 2 :(得分:0)
我发现这是所有方法中最安全的选择,因为当您同时运行多个脚本时,请注意重新加载正确的脚本,这对我来说是一个经常发生的问题。以下各项的组合还可以确保一次只运行一个脚本实例。 ScriptFullPath变量包含脚本的名称。
#SingleInstance Force ;put this at the top of the script
^r::run, %A_ScriptFullPath%