Страница 11 из 45
Функция 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 Замечания по платформеНе имеется |