InstallKeybdHook

キーボードフックをインストールまたはアンインストールします。

InstallKeybdHook Install, Force

パラメータ

Install

型:論理値

省略したときは、デフォルトでTrueになります。

trueのときは、フックのインストールが必要です。

falseのときは、この関数によって以前に設定された要件はすべて削除され、フックがアンインストールされる可能性があります。

Force

型:論理値

省略されたときは、デフォルトはfalseです。

If false, an internal variable is updated to indicate whether the hook is required by the script, but there might be no immediate change if the hook is required for some other purpose.

If true and Install is true, the hook is uninstalled and reinstalled. これは、他のプロセスによって以前にインストールされたフックよりも優先される効果があります。プログラムが反応しないためにシステムがフックを呼び出さなくなった場合、フックを再インストールすることで再び動作するようになる場合があります。

If true and Install is false, the hook is uninstalled even if needed for some other purpose. ホットキーホットストリングInputHookがフックを必要とする場合、フックが再インストールされるまで動作が停止します。フックの再インストールは、この関数を呼び出すことで明示的に行うことも、ホットキーの有効・無効やフックを必要とする他の関数の呼び出しの副作用として自動的に行うこともできる。

備考

キーボードフックは、ホットストリングRegisterHotkey(オペレーティングシステムに組み込まれた機能)でサポートされていないキーボードホットキーを有効にする目的で、キーストロークを監視しています。また、InputHook機能など、いくつかの機能もサポートしています。

AutoHotkeyは、キーボードフックとマウスフックを合わせて500KB以上のメモリを消費するため、無条件にインストールしません。したがって、通常、キーボードフックは、スクリプトに次のいずれかが含まれている場合にのみインストールされます:1)ホットストリング、2) キーボードフックを必要とする1つまたは複数のホットキー(ほとんどは必要ありません)、3)SetCaps/Scroll/NumLock AlwaysOn/AlwaysOff、4) アクティブな入力フックです。

これに対して、InstallKeybdHook関数を使用すると、無条件でキーボードフックをインストールすることができ、次のようなメリットがあります:

フックを必要としないキーボードホットキーは、InstallKeybdHook関数が使用されていても、regメソッドを使用します。これに対して、キーボードホットキーに#UseHookディレクティブまたは$ prefixを適用すると、強制的にフックを要求するようになり、ホットキーが有効になっている場合にフックがインストールされるようになります。

スクリプトがフックを使用しているかどうかは、KeyHistory関数またはメニュー項目で確認できます。どのホットキーがフックを使用しているかは、ListHotkeys関数またはメニュー項目で確認することができます。

InstallMouseHook#UseHookHotkeyInputHookKeyHistoryホットストリングGetKeyStateKeyWait

キーボードフックを無条件でインストールします。

InstallKeybdHook