#UseHook

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

#UseHook[編集]

ホットキーラベルの定義で、常にフックを使用するようにする。

#UseHook [On|Off]

Parameters[編集]

引数名 説明
On|Off On: 以降に記述されたホットキーはすべてフックを使用する。
Off: 以降に記述されたホットキーは極力フックを利用しないようにする。
未指定: Onを指定したものとみなす。

Remarks[編集]

AutoHotkeyではホットキーの登録はデフォルトで RegisterHotkey() というウィンドウズAPIを使用して行われる。このAPIで登録できないホットキーだけをフックを使って実現している。しかし、ホットキーラベル定義で $オプションをつけるか、#UseHook を使用すると、どんなホットキーでもフックを使うようになる。

各ホットキーがどちらの方法で登録されているかは、 ListHotkeys コマンドを実行するか、トレイアイコンからメインウィンドウを表示してメニューバーから [View]→[Hotkeys and their methods] を選択することで確認できる。

フックを使用すると、RegisterHotkey()を使用するより反応が速くなる場合がある。

通常ディレクティブと違い複数箇所に記述できる。#UseHook On#UseHook Offの間のホットキーをまとめてフック使用にすることができる。

[v1.1.06+]: #InputLevel and SendLevel provide additional control over which hotkeys and hotstrings are triggered by the Send command.

スクリプト内に本ディレクティブが一つも記述されていない場合、あるいは本ディレクティブの位置よりも以前に記述されている場合のホットキーは Off が指定されているものとして扱われる。

Related[編集]

#InstallKeybdHook, #InstallMouseHook, ListHotkeys, #InputLevel

Example(s)[編集]

#UseHook                                  ; ↓ここから
#x::MsgBox, このホットキーはフックを利用。
#y::MsgBox, こちらも同様。
#UseHook Off                ; ↑ここまでフックを利用
#z::MsgBox, これはフックが使われない。