Win32 API. Функции и сообщения ввода информации с клавиатуры
Страница 29. Функция 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
UnicodeWinNT
Замечания по платформеНе имеется

 
« Предыдущая статья   Следующая статья »