Функция GetKeyNameText 


Функция GetKeyNameText извлекает строку, которая представляет название клавиши.

Синтаксис

int GetKeyNameText(
    LONG lParam,
    LPTSTR lpString,
    int nSize
);

Параметры

lParam

[in] Определяет второй параметр сообщения клавиатуры (типа WM_KEYDOWN) которое обрабатывается. Функция интерпретирует ниже перечисленные позиции битов в lParam:

Биты

Предназначение

16-23

Скэн-код.

24

Флажок дополнительной клавиши. Дает отличительный признак для некоторых клавиш расширенной клавиатуры.

25

Бит " Безразличное состояние ". Прикладная программа, вызывающая эту функцию устанавливает этот бит, чтобы указать, что функция не должна различать, например, между левыми и правыми клавишами CTRL и SHIFT.

lpString

[out] Указатель на буфер, который примет название клавиши.

nSize

[in] Определяет максимальную длину, в TCHAR (символах), названия клавиши, включая символ завершения строки (нуль-терминатор). (Этот параметр должен быть равен размеру буфера, указанному параметром lpString.)

Возвращаемые значения

Если функция завершается успешно, строка с символом нуля в конце копируется в заданный буфер, а величина возвращаемого значения - длина строки, в TCHAR, не считая символа завершения строки (нуль-терминатора).

Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить дополнительные сведения об ошибке, вызовите GetLastError.

Замечания

Формат строки с названием клавиши зависит от текущей раскладки символов на клавиатуре. Драйвер клавиатуры поддерживает список названий в форме символьных строк для клавиш с названиями длиннее, чем один символ. Название клавиши транслируется согласно раскладке текущей установленной клавиатуры, таким образом функция может дать разные результаты для разных языков ввода данных. Названием символьных клавиш является сам символ, обозначающий её. Названия мертвых клавиш вполне обстоятельно разъяснены.

Windows 95/98/Me: GetKeyNameTextW поддерживается  подпрограммой Microsoft Layer for Unicode. Чтобы использовать подпрограмму, Вы должны добавить некоторые файлы к вашему приложению, как это определено в Microsoft Layer for Unicode для  систем Windows 95/98/Me.

Смотри также

Обзор Ввод данных с клавиатуры, Функции, используемые Окном, CreateWindow, CreateWindowEx, IsWindowEnabled, WM_ENABLE

Размещение и совместимость GetKeyNameText

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz