Поделиться через


сообщение 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 [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

См. также раздел