次の方法で共有


WM_SETHOTKEY メッセージ

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

#define WM_SETHOTKEY                    0x0032

パラメーター

wParam する

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

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

価値 意味
HOTKEYF_ALT
0x04
Alt キー
HOTKEYF_CONTROL
0x02
Ctrl キー
HOTKEYF_EXT
0x08
拡張キー
HOTKEYF_SHIFT
0x01
シフトキー

wParam の上位ワードは無視されます。

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

lParam

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

戻り値

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

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

注釈

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

VK_ESCAPEVK_SPACEVK_TABおよびVK_PACKET は無効なホット キーです。

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

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

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

要求事項

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

こちらも参照ください

リファレンス

RegisterHotKey

WM_GETHOTKEY

WM_SYSCOMMAND

概念

キーボード入力