Win32 API. Функции и сообщения ввода информации с клавиатуры - Функция GetKeyNameText
ОГЛАВЛЕНИЕ
Функция GetKeyNameText
(ПолучитьТекстИмениКлавиши)
Функция GetKeyNameText извлекает строку, которая представляет название клавиши.
Синтаксис
int GetKeyNameText(
LONG lParam, // второй параметр сообщения клавиатуры
LPTSTR lpString, // адрес буфера с именем клавиши
int nSize // максимальная длина строки с именем клавиши
);
Параметры
lParam
Определяет второй параметр сообщения клавиатуры (типа WM_KEYDOWN) для обработки. Функция интерпретирует следующие части lParam (Бит-Предназначение):
- 16-23 - Скэн-код.
- 24 - Флажок дополнительной клавиши. Дает отличительный признак для некоторых клавиш расширенной клавиатуры.
- 25 - Бит " Безразличное состояние ". Прикладная программа, вызывающая эту функцию устанавливает этот бит, чтобы указать, что функция не должна различать, например, между левыми и правыми клавишами CTRL и SHIFT.
lpString
Указывает на буфер, который примет название клавиши.
nSize
Определяет максимальную длину, в символах, названия клавиши, включая символ завершения строки (нуль-терминатор). (Этот параметр должен быть равен размеру буфера, указанного параметром lpString.)
Возвращаемые значения
Если функция завершается успешно, строка с символом нуля в конце копируется в заданный буфер, а величина возвращаемого значения - длина строки, в символах, не считая символа завершения строки (нуль-терминатора).
Замечания
Формат строки с названием клавиши зависит от текущей раскладки символов на клавиатуре. Драйвер клавиатуры поддерживает список названий в форме символьных строк для клавиш с названиями длиннее, чем один символ. Название клавиши транслируется в соответствии с текущей раскладкой установленной клавиатуры. Названием символьных клавиш является сам символ, обозначающий её. Названия мертвых клавиш вполне обстоятельно разъяснены.
Размещение и совместимость GetKeyNameText
Windows NT Да
Win95 Да
Win32s Да
Импортируемая библиотека user32.lib
Заголовочный файл winuser.h
Unicode WinNT
Замечания по платформе Не имеется