グローバル ホット キー
グローバルホットキーは、特定の子以外のウィンドウに関連付けられています。 これにより、ユーザーはシステムの任意の部分からウィンドウをアクティブ化できるようになります。 アプリケーションでは、そのウィンドウに WM_SETHOTKEY メッセージを送信することによって、特定のウィンドウのグローバル ホット キーを設定します。 たとえば、m_HotKeyCtrl
が CHotKeyCtrl オブジェクトであり、ホットキーが押されたときにアクティブになるウィンドウへのポインターが pMainWnd
である場合 、次のコードを使用して、コントロールで指定されたホットキーを、pMainWnd
が指すウィンドウに関連付けることができます。
WORD wKeyAndShift = static_cast<WORD>(m_HotKeyCtrl.GetHotKey());
this->SendMessage(WM_SETHOTKEY, wKeyAndShift);
ユーザーがグローバル ホット キーを押すたびに、指定されたウィンドウは、コマンドの種類として SC_HOTKEY を指定する WM_SYSCOMMAND メッセージを受信します。 このメッセージは、それを受信するウィンドウもアクティブにします。 このメッセージには、押されたキーに関する情報は含まれていないため、この方法を使用すると、同じウィンドウに接続されている可能性のある異なるホットキーを区別できません。 ホットキーは、 WM_SETHOTKEY を送信したアプリケーションが終了するまで有効なままです。