8

autohotkey スクリプトC:\path\to\my\scriptを実行しているとします。再起動するホットキーを定義する方法はありますか?

4

3 に答える 3

14

インスタンスの重複を防ぐために、通常はスクリプトを再起動せず、組み込み関数Reloadを使用します。Ctrlこれを+ + +で起動し、+ Win+ Alt+Rを使用してメインの AHK スクリプトを編集します。CtrlWinAltE

^#!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
于 2013-03-29T18:28:36.973 に答える
1

スクリプトを実行するホットキーを作成します。この場合は同じスクリプトで、終了します。

somehotkey::
    Run, C:\path\to\my\script.ahk
    ExitApp
return
于 2013-03-29T15:46:30.513 に答える
0

これは、複数のスクリプトを同時に実行しているときに正しいスクリプトが再ロードされるように処理するため、最も安全なオプションであることがわかりました。これは、私にとって繰り返し発生する問題でした。また、次の組み合わせにより、スクリプトのインスタンスが一度に 1 つだけ実行されるようになります。ScriptFullPath 変数には、スクリプトの名前が含まれます。

#SingleInstance Force ;put this at the top of the script
^r::run, %A_ScriptFullPath% 
于 2019-04-18T15:23:14.700 に答える