web-dev-qa-db-ja.com

アクティブなAutoHotkeyスクリプトを停止するにはどうすればよいですか?

昨日、AutoHotkeyスクリプトのデバッグ中に、誤ってMouseMoveおよびMouseClickイベントの無限ループをトリガーしました。 0.5秒ごとに、マウスが画面のランダムな部分をクリックします。

タスクマネージャーでAHKを終了しようとして失敗した後、スクリプトを終了するためにコンピューターの電源を切ることになりました。

アクティブなAutoHotkeyスクリプトを停止するにはどうすればよいですか?

11
Stevoisiak

非常口ホットキーを追加する

アクティブなスクリプトを終了する最も信頼できる方法は、緊急事態 ExitApp ホットキーを先取りして含めることです。一般的な方法は、スクリプトの最後に次を配置することです。

_Esc::ExitApp  ; Exit script with Escape key
_

また、ホットキーを pausesuspend 、または reload に設定することもできます。

_^!p::Pause    ; Pause script with Ctrl+Alt+P
^!s::Suspend  ; Suspend script with Ctrl+Alt+S
^!r::Reload   ; Reload script with Ctrl+Alt+R
_

ログオフ

Windows 10/8/7/Vistaでは、キーボードショートカットですばやくログオフできます Ctrl+Alt+Delete、 に続く Alt+L

これは、Ctrl + Alt + Deleteを押すと、AutoHotkeyなどのプログラムで操作できない特別なウィンドウが開くためです。

タスクバーアイコンで終了

キーボードとマウスを制御できる場合は、タスクバーのAutoHotkeyの緑色のHアイコンを右クリックして[終了]を選択すると、スクリプトを終了できます。

Exit script from taskbar

AHKPanic()ですべてのアクティブなスクリプトを終了します

より一般的な解決策として、AHKユーザーNoneは AHKPanic() を作成しました。これは、実行中の他のすべてのスクリプトを一時停止、一時停止、または強制終了できます。 (オプションで、それを呼び出したスクリプトを終了します)

_AHKPanic(Kill=0, Pause=0, Suspend=0, SelfToo=0) {
DetectHiddenWindows, On
WinGet, IDList ,List, ahk_class AutoHotkey
Loop %IDList%
  {
  ID:=IDList%A_Index%
  WinGetTitle, ATitle, ahk_id %ID%
  IfNotInString, ATitle, %A_ScriptFullPath%
    {
    If Suspend
      PostMessage, 0x111, 65305,,, ahk_id %ID%  ; Suspend. 
    If Pause
      PostMessage, 0x111, 65306,,, ahk_id %ID%  ; Pause.
    If Kill
      WinClose, ahk_id %ID% ;kill
    }
  }
If SelfToo
  {
  If Suspend
    Suspend, Toggle  ; Suspend. 
  If Pause
    Pause, Toggle, 1  ; Pause.
  If Kill
    ExitApp
  }
}
_
18
Stevoisiak

あなたが空想を得て、Windowsコマンドプロンプトからそれを止めたいならば、

次を使用して、すべての自動ホットキースクリプトを停止します。

taskkill /im "autohotkey.exe"

特定のスクリプトを停止するには:

wmic process where "commandline like '%%MyScript.ahk'" delete
1
PBeezy

ループを実行せずに特定のウィンドウを閉じたい場合は、次を作成しました。

DetectHiddenWindows, On

path = %A_Desktop%\Test.ahk - AutoHotkey v1.1.26.01

path2 = %A_Desktop%\Test2.ahk - AutoHotkey v1.1.26.01

WinClose, %path%

WinClose, %path2%

**注1:**ファイル名+ "-AutoHotKey blah blah blah"(これは、時計に近い右下隅に隠れているウィンドウを開いたときのホットキーのウィンドウ名です)

**注2:**ファイル名は大文字と小文字を区別する必要があります。

1
cristivaldo