|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
ToUnicodeEx
The ToUnicodeEx function translates the specified virtual-key code and keyboard state to the corresponding Unicode character or characters.
int ToUnicodeEx(
UINT wVirtKey, // virtual-key code UINT wScanCode, // scan code PBYTE lpKeyState, // address of key-state array LPWSTR pwszBuff, // buffer for translated key int cchBuff, // size of translated key buffer UINT wFlags, // set of function-conditioning flags HKL dwhkl // keyboard layout handle );
Parameters
wVirtKey
Specifies the virtual-key code to be translated.
wScanCode
Specifies the hardware scan code of the key to be translated. The high-order bit of this value is set if the key is up.
lpKeyState
Points to a 256-byte array that contains the current keyboard state. Each element (byte) in the array contains the state of one key. If the high-order bit of a byte is set, the key is down.
pwszBuff
Points to the buffer that receives the translated Unicode character or characters.
cchBuff
Specifies the size in characters of the buffer pointed to by the pwszBuff parameter.
wFlags
A set of bit flags that condition the behavior of the function. Set bit 0 if a menu is active. Bits 1 through 31 are reserved.
dwhkl
Identifies the keyboard layout to use to translate the given code. This parameter can be any keyboard layout handle previously returned by the LoadKeyboardLayout function.
Return Values
The function returns one of the following values:
Value Meaning - 1 The specified virtual key is a dead-key character (accent or diacritic). This value is returned regardless of the keyboard layout, even if several characters have been typed and are stored in the keyboard state. If possible, even with Unicode keyboard layouts, the function has written a spacing version of the dead-key character to the buffer specified by pwszBuffer. For example, the function writes the character SPACING ACUTE (0x00B4), rather than the character NON_SPACING ACUTE (0x0301). 0 The specified virtual key has no translation for the current state of the keyboard. Nothing was written to the buffer specified by pwszBuffer. 1 One character was written to the buffer specified by pwszBuffer. 2 or more Two or more characters were written to the buffer specified by pwszBuff. The most common cause for this is that a dead-key character (accent or diacritic) stored in the keyboard layout could not be combined with the specified virtual key to form a single character.
Remarks
The parameters supplied to the ToUnicodeEx function might not be sufficient to translate the virtual-key code because a previous dead key is stored in the keyboard layout. Typically, ToUnicodeEx performs the translation based on the virtual-key code. In some cases, however, bit 15 of the wScanCode parameter can be used to distinguish between a key press and a key release.
See Also
ToAscii, ToUnicode, VkKeyScan
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
ToUnicodeEx
Функция ToUnicodeEx переводится определенному виртуальному-ключевому кодовому и клавишному состоянию в соответствующий символ Уникода или символов.
int ToUnicodeEx(
UINT wVirtKey, // ВИРТУАЛЬНЫЙ-ключевой код UINT wScanCode, // код сканирования PBYTE lpKeyState, // адрес ключевого-государственного массива LPWSTR pwszBuff, // буфер для переведенного ключа int cchBuff, // размер переведенного ключевого буфера UINT wFlags, // установленное функциональной подготовки флагов HKL dwhkl // клавишная ручка формата );
Параметры
wVirtKey
Определяет виртуальный-ключевой код, чтобы быть переведенн.
wScanCode
Определяет аппаратный код сканирования ключа, который нужно переводиться. Старший бит этой величины установлен если ключ - по.
lpKeyState
Точки на 256- байтовый массив, которые содержат текущее клавишное состояние. Каждый элемент (байт) в массиве содержит состояние одного ключа. Если старший бит байта установлен, ключ нажатый.
pwszBuff
Точки на буфер, которые получают переведенный символ Уникода или символов.
cchBuff
Определяет размер в типах буфера указанных, чтобы параметром pwszBuff.
wFlags
Набор бита сигнализирует, что оценивает поведение функции. Установите биту 0 если меню активно. Кусает 1 по 31 зарезервированы.
dwhkl
Идентифицирует клавишный формат, чтобы использоваться, чтобы переводиться данный код. Этот параметр может быть любой клавишной ручкой формата прежде возвращанной функцией LoadKeyboardLayout.
Обратные Величины
Функция возвращает одно из следующего величин:
Значение Величины - 1 Определенная виртуальная клавиша - мертвый-ключевой символ (акцент или диакритический). Эта величина возвращана независимо от клавишного формата, даже если бы несколько символов набраны и загружены в клавишное состояние. Если возможно, даже с клавишными форматами Уникода, функция записала бы размещающую версию мертвого-ключевого символа в буфер определенный pwszBuffer. Например, функция записывает символ, РАЗМЕЩАЮЩИЙ ОСТРЫМ (0x00B4), а не символ NON_SPACING ОСТРЫЙ (0x0301). 0 Определенная виртуальная клавиша не имеет перевод для текущего состояния клавиатуры. Ничто не был записан в буфер определенный pwszBuffer. 1 Одних символа были записаны в буфер определенный pwszBuffer. 2 или более Два или больше символов были записаны в буфер определенный pwszBuff. Наиболее общая причина этого в том, что мертвый-ключевой символ (акцент или диакритический) загруженное в клавишный формат не могло объединено определенной виртуальной клавишей, чтобы формировать единственный символ.
Замечания
Параметры поставленные в функцию ToUnicodeEx не могли быть достаточными, чтобы переводиться виртуальный-ключевой код поскольку предшествующая мертвая клавиша загружена в клавишный формат. Обычно, ToUnicodeEx выполняет перевод основанный в виртуальном-ключевом коде. В некоторых случаях, тем не менее, бит 15 параметра wScanCode могут быть использованы, чтобы различаться между ключевым нажатием и ключевая версия.
Смотри Также
ToAscii, ToUnicode, VkKeyScan
|
|
|
|
| |