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