10.16.1.28 - Функция VkKeyScanEx

(СканироватьВиртуальнуюКлавишуРасширенная)

[Теперь поддерживается в Windows NT]

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

Синтаксис

SHORT VkKeyScanEx
(
	CHAR ch,	// символ, который транслируется
	HKL dwhkl	// дескриптор раскладки символов на клавиатуре
);

Параметры
ch
Определяет символ, который будет оттранслирован в код виртуальной клавиши.
dwhkl
Идентифицирует раскладку символов на клавиатуре, которая используется, чтобы оттранслировать символ. Этот параметр может быть дескриптор любой раскладки символов на клавиатуре, предварительно возвращенный функцией LoadKeyboardLayout.

Возвращаемые значения
Если функция завершается успешно, младший байт величины возвращаемого значения содержит код виртуальной клавиши, а старший байт содержит состояние переключения, которое может быть комбинацией следующих битов флажка:

Если функция не находит клавишу, которая транслируется, чтобы послать код буквы, то младшие и старшие байты содержат – (минус)1.

Замечания
Для раскладок символов на клавиатуре, которые используют правостороннюю клавишу ALT как клавишу SHIFT (например, Французская раскладка символов на клавиатуре), переключение состояния представлено значением 6, потому что правосторонняя клавиша ALT внутренне преобразуется в CTRL+ALT.
Трансляции для цифровой клавиатуры (от VK_NUMPAD0 до VK_DIVIDE) игнорируются. Эта функция предназначена для того, чтобы переводить символы в нажатия клавиш только из главного раздела клавиатуры. Например, символ "7" транслируется в VK_7, не VK_NUMPAD7.
VkKeyScanEx используется прикладными программами, которые посылают символы, используя сообщения WM_KEYDOWN и WM_KEYUP.

Смотри также
GetAsyncKeyState, GetKeyboardState, GetKeyNameText, GetKeyState, LoadKeyboardLayout, SetKeyboardState, ToAsciiEx, VkKeyScan

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

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

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