RegisterHotKey

https://msdn.microsoft.com/ja-jp/library/cc429867.aspx https://msdn.microsoft.com/ja-jp/library/cc428944.aspx https://msdn.microsoft.com/ja-jp/library/cc429867.aspx https://msdn.microsoft.com/ja-jp/library/ms646279.aspx

システムワイド( システム全体に適用される)のホットキーを定義します。

BOOL RegisterHotKey(
  HWND hWnd,         // ウィンドウのハンドル
  int id,            // ホットキーの識別子
  UINT fsModifiers,  // キー修飾子フラグ
  UINT vk            // 仮想キーコード
);

パラメータ

hWnd
[入力]ホットキーによって生成された WM_HOTKEY メッセージを受け取るウインドウのハンドルを指定します。このパラメータに NULL を指定したときは、WM_HOTKEY メッセージは呼び出し側のスレッドのメッセージキューにポストされるので、そのメッセージループで処理しなければなりません。
id
[入力]ホットキーの識別子を指定します。現在のスレッド内の他のホットキーは、同じ識別子を使うべきではありません。アプリケーションは、0x0000~0xBFFF の範囲の値を指定しなければなりません。共有ダイナミックリンクライブラリ(DLL)は、0xC000~0xFFFF( 関数が返す範囲)の値を指定しなくてはなりません。他の共有 DLL との競合を避けるために、各 DLL は GlobalAddAtom 関数を使ってホットキーの識別子を取得するべきです。
fsModifiers
[入力]WM_HOTKEY メッセージを生成するために、nVirtKey パラメータで指定されたキーとともに押されるキーを指定します。次の値の任意の組み合わせを指定します。
意味
MOD_ALTどちらかの Alt キーを押します。
MOD_CONTROLどちらかの Ctrl キーを押します。
MOD_SHIFTどちらかの Shift キーを押します。
MOD_WINどちらかの Windows キー(Microsoft Windows のロゴが付いているキー)を押します。

vk
[入力]ホットキーの仮想キーコードを指定します。

戻り値

関数が成功すると、0 以外の値が返ります。

関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。

解説

あるキーが押されると、システムはすべてのホットキーの中からそれに一致するものを探します。一致するものが見つかると、システムはそのホットキーを登録したスレッドのメッセージキューに WM_HOTKEY メッセージをポストします。このメッセージは、キューの先頭にポストされ、メッセージループの次の反復で削除されます。

この関数は、他のスレッドが生成したウィンドウにホットキーを関連付けることはできません。

ホットキーに割り当てようとしたキーストロークが、他のホットキーによって既に登録されている場合、RegisterHotKey 関数は失敗します。

hWnd パラメータで指定されたウィンドウが、id パラメータで指定したのと同じ ID を持つホットキーを既に登録していた場合、fsModifiers パラメータと vk パラメータの値は、新しいものに置き換えられます。

対応情報

Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダーファイル:Winuser.h 内で宣言、Windows.h をインクルード
インポートライブラリ:User32.lib を使用

参照

, UnregisterHotKey,

表示: