Win32 API. Функции и сообщения ввода информации с клавиатуры
Страница 11. Функция 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
UnicodeWinNT
Замечания по платформеНе имеется

 
« Предыдущая статья   Следующая статья »