WM_SETHOTKEY メッセージ

ホット キーをウィンドウに関連付けるためにウィンドウに送信されます。 ユーザーがホット キーを押すと、システムによってウィンドウがアクティブになります。

#define WM_SETHOTKEY                    0x0032

パラメーター

wParam

下位ワードは、ウィンドウに関連付ける仮想キー コードを指定します。

上位ワードには、CommCtrl.h の次の値のうち 1 つ以上を指定できます。

wParam をNULL に設定すると、ウィンドウに関連付けられているホット キーが削除されます。

説明
HOTKEYF_ALT
0x04
ALT キー
HOTKEYF_CONTROL
0x02
Ctrl キー
HOTKEYF_EXT
0x08
拡張キー
HOTKEYF_SHIFT
0x01
Shift キー

lParam

このパラメーターは使用されません。

戻り値

戻り値は次のいずれかです。

戻り値 説明
-1
関数が失敗しました。ホット キーが無効です。
0
関数が失敗しました。ウィンドウが無効です。
1
関数は成功し、他のウィンドウには同じホット キーがありません。
2
関数は成功しましたが、別のウィンドウには既に同じホット キーがあります。

注釈

ホット キーを子ウィンドウに関連付けることはできません。

VK_ESCAPEVK_SPACEVK_TAB は無効なホット キーです。

ユーザーがホット キーを押すと、システムは wParamSC_HOTKEY に等しく、lParam がウィンドウのハンドルと等しいWM_SYSCOMMAND メッセージを生成します。 このメッセージが DefWindowProc に渡されると、ウィンドウの最後のアクティブなポップアップ (存在する場合) またはウィンドウ自体 (ポップアップ ウィンドウがない場合) がフォアグラウンドに表示されます。

ウィンドウに含めることができるホット キーは 1 つだけです。 ウィンドウに既にホット キーが関連付けられている場合は、新しいホット キーによって古いキーが置き換えられます。 複数のウィンドウに同じホット キーがある場合、ホット キーによってアクティブ化されるウィンドウはランダムです。

これらのホット キーは、 RegisterHotKey によって設定されたホット キーとは無関係です。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winuser.h (Windows.h を含む)

関連項目

参照

RegisterHotKey

WM_GETHOTKEY

WM_SYSCOMMAND

概念

キーボード入力