WM_SYSKEYUP сообщение размещено в окно с фокусом клавиатуры, когда пользователь отпускает клавишу нажатой при нажатой клавишу alt. Это также происходит, когда без окна в настоящее время имеет фокус клавиатуры; в этом случае WM_SYSKEYUP сообщение отправляется в активное окно. Окно, которое получает сообщение можно различить между двух контекстов, проверив код контекста в параметре lKeyData.
WM_SYSKEYUP nVirtKey = wParam (Интернасьонал); / / виртуальный ключ код lKeyData = lParam; / / Ключевые данные
Значение | Описание |
---|---|
0–15 | Определяет число повторений для текущего сообщения. Значение — количество раз, которое нажатия кнопки auto повторяется из пользователей, удерживая клавишу. Число повторений всегда является одна для WM_SYSKEYUP сообщения. |
оценки | Указывает код сканирования. Значение зависит от изготовителя оборудования (OEM). |
24 | Указывает, является ли ключ расширенного ключа, таких как правой клавиши alt и клавиши ctrl, которые появляются на расширенной 101 - или 102-клавишной клавиатуре. Значение равно 1, если это расширенный ключ; в противном случае это 0. |
25-28 | Защищены; не следует использовать. |
29 | Указывает код контекста. Значение равно 1, если нажата клавиша ALT ключ освобожден; Это 0, если WM_SYSKEYDOWN сообщение размещено в активное окно, потому что не окно имеет фокус клавиатуры. |
30 | Определяет ключевые предыдущее состояние. Значение всегда равно 1 для WM_SYSKEYUP сообщения. |
31 | Определяет состояние перехода. Значение всегда равно 1 для WM_SYSKEYUP сообщения. |
Приложение должно возвращать нуль, если она обрабатывает это сообщение.
Функция DefWindowProc посылает сообщение WM_SYSCOMMAND окну верхнего уровня, если клавиша f10 или alt ключ был выпущен. Параметр wParam сообщения имеет значение SC_KEYMENU.
Когда код контекста равно нулю, сообщения могут быть переданы в функцию TranslateAccelerator , который будет обрабатывать ее, как будто это обычный ключевые сообщения вместо символов ключа сообщения. Это позволяет сочетания клавиш для использования с активным окном, даже если активное окно не имеет фокуса клавиатуры.
Для расширения 101 и 102-клавиша клавиатуры расширенные ключи являются правой клавиши alt и клавиши ctrl в основной части клавиатуры; ins, del, дома, конец, page up, page down и клавиш со стрелками в кластерах слева от цифровой клавиатуры; и деления (/) и введите ключи в цифровой клавиатуры. Другие клавиши могут поддерживать продлил ключ бит в параметре lKeyData.
Для США-расширение 102-клавишной клавиатуры правая клавиша alt осуществляется как ctrl + клавиша alt. В следующей таблице показаны последовательность сообщений, когда пользователь нажимает и отпускает этот ключ.
Сообщение | Виртуальная ключ кодекс |
---|---|
WM_KEYDOWN | VK_CONTROL |
WM_KEYDOWN | VK_MENU |
WM_KEYUP | VK_CONTROL |
WM_SYSKEYUP | VK_MENU |
nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.
Обзор ввода клавиатуры ввода сообщений клавиатуры, DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYDOWN