Win32 API. Функции и сообщения ввода информации с клавиатуры - Функция VkKeyScanEx
ОГЛАВЛЕНИЕ
Функция VkKeyScanEx
(СканироватьВиртуальнуюКлавишуРасширенная)
[Теперь поддерживается в Windows NT]
Функция VkKeyScanEx переводит символ в соответствующий код виртуальной клавиши и состояние переключения. Функция переводит символ, используя входящий язык и физическую раскладку символов на клавиатуре, идентифицированную данным дескриптором раскладки символов на клавиатуре.
Синтаксис
SHORT VkKeyScanEx
(
CHAR ch, // символ, который транслируется
HKL dwhkl // дескриптор раскладки символов на клавиатуре
);
Параметры
ch
Определяет символ, который будет оттранслирован в код виртуальной клавиши.
dwhkl
Идентифицирует раскладку символов на клавиатуре, которая используется, чтобы оттранслировать символ. Этот параметр может быть дескриптор любой раскладки символов на клавиатуре, предварительно возвращенный функцией LoadKeyboardLayout.
Возвращаемые значения
Если функция завершается успешно, младший байт величины возвращаемого значения содержит код виртуальной клавиши, а старший байт содержит состояние переключения, которое может быть комбинацией следующих битов флажка:
- 1 бит - Нажата любая клавиша SHIFT.
- 2 бит - Нажата любая клавиша CTRL.
- 4 бит - Нажата любая клавиша ALT.
Если функция не находит клавишу, которая транслируется, чтобы послать код буквы, то младшие и старшие байты содержат – (минус)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
Замечания по платформе Не имеется