ToUnicodeEx

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

int () ToUnicodeEx UINT  wVirtKey, / / виртуальный ключ кодUINTwScanCode, / / сканирования кодаPBYTElpKeyState, / / ключ конфессиональные массивLPWSTRpwszBuff, / / буфер для переведенных ключа intcchBuff, / / размер перевода ключевых буфераUINTwFlags, / / набор флагов функции кондиционирования HKLdwhkl / / Клавиатура макета ручки);
 

Параметры

wVirtKey
Указывает код виртуального ключа для перевода.
wScanCode
Указывает код сканирования аппаратного ключа для перевода. Старший бит этого значения устанавливается, если ключ является вверх.
lpKeyState
Указатель на массив 256 байт, содержащий текущее состояние клавиатуры. Каждый элемент (байт) в массиве содержит состояние одной клавиши. Если старший бит байта, ключ не работает.
pwszBuff
Указатель на буфер, который получает переведенный Unicode символы.
cchBuff
Указывает размер в символах буфера, который указывает параметр pwszBuff .
wFlags
Набор бит флаги состояния поведение функции. Установить бит 0, если активно меню. Зарезервированные биты 1 до 31.
dwhkl
Идентифицирует раскладку клавиатуры для использования для перевода данного кода. Этот параметр может быть ранее возвращенный функцией LoadKeyboardLayout ручку макет клавиатуры.

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

Функция возвращает одно из следующих значений.

Значение Значение
– 1 Указанный виртуальный ключ — персонаж мертвых ключ (акцент или диакритический знак). Это значение возвращается вне зависимости от раскладки клавиатуры, даже если несколько персонажей ввода и хранятся в состоянии клавиатуры. Если возможно даже с Unicode раскладки клавиатуры, функция написал интервал версии мертвых ключ символа в буфер, предусмотренных pwszBuffer. Например функция записывает символ ИНТЕРВАЛОВ ЯДОВИТЫЕ (0x00B4), а не характер ОСТРОГО NON_SPACING (0x0301).
0 Указанный виртуальный ключ имеет перевод не для текущего состояния клавиатуры. Ничего не было записано в буфер, предусмотренных pwszBuffer.
1 Один символ был написан в буфер, предусмотренных pwszBuffer.
2 или более Два или более символов были написаны в буфер, предусмотренных pwszBuff. Наиболее распространенной причиной для этого является символ мертвых ключ (акцент или диакритический знак), хранится в раскладку клавиатуры может не объединить с указанным виртуальным ключом для формирования одного символа.

Примечания

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

Как правило ToUnicodeEx выполняет перевод на базе виртуального ключа кода. В некоторых случаях однако, бит 15 wScanCode параметра позволяют различать клавиши и ключевых релиз.

QuickInfo

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

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

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

Index