сообщение WM_SYSCHAR
Публикуется в окне с фокусом клавиатуры, когда WM_SYSKEYDOWN сообщение переводится функцией TranslateMessage . Он задает код символа системной символьной клавиши, то есть клавиши символа, которая нажимается при нажатии клавиши ALT.
#define WM_SYSCHAR 0x0106
Параметры
-
wParam
-
Код символа клавиши меню окна.
-
lParam
-
Счетчик повторов, код сканирования, флаг расширенного ключа, контекстный код, предыдущий флаг "ключ—состояние" и флаг состояния перехода, как показано в следующей таблице.
Bits Значение - 0 15
Число повторов для текущего сообщения. Значением является число автоматически повторяемых нажатий клавиши в результате того, что пользователь удерживает клавишу. Если нажатие клавиши удерживается достаточно долго, отправляется несколько сообщений. Однако количество повторов не является накопительным. - 16 23
Код сканирования. Значение зависит от изготовителя оборудования (OEM). - 24
Указывает, является ли клавиша расширенной клавишей, например клавишами ALT и CTRL справа, которые отображаются на расширенной клавиатуре с 101 или 102 клавишами. Значение равно 1, если это расширенный ключ; в противном случае — 0. - 25 28
Защищены; не использовать. - 29
Контекстный код. Значение равно 1, если клавиша ALT удерживается во время нажатия клавиши; В противном случае значение равно 0. - 30
Предыдущее состояние ключа. Значение равно 1, если ключ не работает до отправки сообщения, или равно 0, если ключ находится в состоянии вверх. - 31
Состояние перехода. Значение равно 1, если клавиша отпускается, или 0, если клавиша нажата. Дополнительные сведения см. в разделе Флаги сообщения нажатия клавиш.
Возвращаемое значение
Приложение должно возвращать ноль, если оно обрабатывает это сообщение.
Комментарии
Если код контекста равен нулю, сообщение можно передать в функцию TranslateAccelerator , которая будет обрабатывать его так, как если бы это было стандартное ключевое сообщение, а не системное сообщение с символьным ключом. Это позволяет использовать клавиши ускорителя с активным окном, даже если активное окно не имеет фокуса клавиатуры.
Для расширенных клавиатур с 101 и 102 клавишами расширенными клавишами являются клавиши ALT и CTRL в разделе main клавиатуры; INS, DEL, HOME, END, PAGE UP, PAGE DOWN и стрелки в кластерах слева от цифровой клавиатуры; клавиша SCRN PRINT; клавиша BREAK; клавиша NUMLOCK; а также клавиши деления (/) и ВВОД на цифровой клавиатуре. Другие клавиатуры могут поддерживать бит расширенной клавиши в параметре .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|