ToAsciiEx

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

int () ToAsciiEx UINT  uVirtKey, / / виртуальный ключ кодUINTuScanCode, / / сканирования кодаPBYTElpKeyState, / / ключ конфессиональные массивLPWORDlpChar, / / буфер для переведенных ключаUINTuFlags, / / актив меню флаг HKLdwhkl / / Клавиатура макета ручки);
 

Параметры

uVirtKey
Указывает код виртуального ключа для перевода.
uScanCode
Указывает код сканирования аппаратного ключа для перевода. Старший бит этого значения устанавливается, если ключ вверх (не нажата).
lpKeyState
Указатель на массив 256 байт, содержащий текущее состояние клавиатуры. Каждый элемент (байт) в массиве содержит состояние одной клавиши. Если старший бит байта, ключ не работает (прессованные).

Низкий бит, если установлено, указывает, что ключ переключается на. В этой функции актуально только бит toggle клавиши caps lock. Переключить состояние num lock и scroll lock ключей игнорируется.

lpChar
Указатель на буфер, которая получит преобразованный символ или символы.
uFlags
Указывает, активна ли меню. Этот параметр должен быть 1 меню, если это сделано иначе нулевой.
dwhkl
Идентифицирует раскладку клавиатуры для использования для перевода данного кода. Этот параметр может быть ранее возвращенный функцией LoadKeyboardLayout ручку макет клавиатуры.

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

Если указанный ключ является мертвым ключ, возвращаемое значение является отрицательным. В противном случае это одно из следующих значений.

Значение Значение
0 Указанный виртуальный ключ имеет перевод не для текущего состояния клавиатуры.
1 Один символ был скопирован в буфер.
2 Два символа были скопированы в буфер. Это обычно происходит, когда мертвых ключ символ (акцент или диакритический знак), хранящихся в раскладка клавиатуры не может состоять с указанным виртуальным ключом для формирования одного символа.

Примечания

Параметров, предоставленных ToAsciiEx функция может быть недостаточно для перевода виртуального ключа кода, потому что предыдущий мертвых ключ хранится в раскладка клавиатуры.

Как правило ToAsciiEx выполняет перевод на базе виртуального ключа кода. В некоторых случаях однако, могут использоваться бит 15 uScanCode параметра различать клавиши и основные версии. Код сканирования используется для перевода ALT +цифра комбинаций.

Хотя режим num lock ключ выключатель, который влияет на поведение клавиатуры, ToAsciiEx игнорирует переключателя (низкая бит) из lpKeyState (VK_NUMLOCK, потому что только параметр uVirtKey является достаточно отличать движение клавиши курсора (VK_HOME, активен и т.д.) от цифровые клавиши (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9).

QuickInfo

nbsp; Windows &NT: требует версии 4.0 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Не поддерживается.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Использование user32.lib.

Родственные слова

Обзор ввода клавиатуры, функции ввода клавиатуры, LoadKeyboardLayout, MapVirtualKeyEx, OemKeyScan, ToAscii, VkKeyScan

Index