10.16.1.24 - Функция ToUnicode

(вУникод)

Функция ToUnicode переводит заданный код виртуальной клавиши и состояние клавиатуры в соответствующий символ или символы Unicode.

Синтаксис

int ToUnicode(
	UINT wVirtKey,	// код виртуальной клавиши
	UINT wScanCode,	// скэн-код
	PBYTE lpKeyState,	// адрес массива состояния клавиши
	LPWSTR pwszBuff,	// буфер для трансляции клавиши
	int cchBuff,	// размер буфера для трансляции клавиши
	UINT wFlags	// установка флажков, согласования функций
);

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

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

Замечания
Параметров, данных в функции ToUnicode, может быть не достаточно, чтобы перевести код виртуальной клавиши, потому что предыдущая мертвая клавиша сохраняется в раскладке символов на клавиатуре.
Как правило, ToUnicode исполняет трансляцию, опираясь на код виртуальной клавиши. Однако в некоторых случаях, бит 15 параметра wScanCode может быть использован, чтобы различить между нажатием клавиши и её отпуском.

Смотри также
ToAscii, VkKeyScan

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

Windows NT			Да 
Win95				Нет 
Win32s				Нет
Импортируемая библиотека		user32.lib 
Заголовочный файл			winuser.h 
Unicode				Нет 
Замечания по платформе		Не имеется

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 07.08.2002