Глобальные сочетания клавиш
Глобальный горячий ключ связан с определенным нешиплитным окном. Он позволяет пользователю активировать окно из любой части системы. Приложение задает глобальный горячий ключ для определенного окна, отправив в это окно сообщение 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 завершит работу.