全域熱鍵
全域熱鍵會與特定非Child 視窗相關聯。 它可讓使用者從系統的任何部分啟動視窗。 應用程式會將WM_SETHOTKEY 訊息傳送 至該視窗,以設定特定視窗的全域熱鍵。 例如,如果 m_HotKeyCtrl
是 CHotKeyCtrl 物件,而且 pMainWnd
是按下作用鍵時要啟動的視窗指標,您可以使用下列程式碼,將控制項中指定的作用鍵與 所 pMainWnd
指向的視窗產生關聯。
WORD wKeyAndShift = static_cast<WORD>(m_HotKeyCtrl.GetHotKey());
this->SendMessage(WM_SETHOTKEY, wKeyAndShift);
每當使用者按下全域熱鍵時,指定的視窗就會 收到WM_SYSCOMMAND 訊息,指定 SC_HOTKEY 做為命令的類型。 此訊息也會啟動接收它的視窗。 由於此訊息不包含所按下確切按鍵的任何資訊,因此使用此方法不允許區分可能附加至相同視窗的不同作用鍵。 熱鍵會維持有效狀態,直到傳送 WM_SETHOTKEY 的應用程式結束為止。