Ну, это - большой список кодов виртуальных клавиш.
CTRL-S будет отправлено в виде 2 WM_KEYDOWN
сообщений - сообщения при нажатии клавиши ctrl (VK_LCONTROL
или VK_RCONTROL
), за которым следует 0x53
для клавиши "S".
Вместо того, чтобы обрабатывать оба сообщения, дождитесь сообщения о нажатии клавиши для нажатия клавиши 'S', затем вызовите GetKeyState , используя магическое значение VK_CONTROL (иначе вам нужно будет проверить индивидуально для левого и правого элементов управления клавиш), чтобы увидеть, была ли нажата клавиша S при нажатой клавише CTRL.
-
Очевидно, сообщения с клавиатуры отправляются непосредственно в окно, которое имеет фокус. Чтобы заставить сочетания акселераторов работать в области приложения, вам необходимо проверить сообщения перед отправкой их в окно фокусировки, т. Е. В насос сообщений. См. Документацию для TranslateAccelerator .
Если вы хотите обрабатывать общесистемные нажатия клавиш, другой ответ указывает на горячую клавишу api.