Функция VkKeyScanEx


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

 Синтаксис

SHORT VkKeyScanEx(
    TCHAR ch,
    HKL dwhkl
);

Параметры

ch

[in] Определяет символ, который будет оттранслирован в код виртуальной клавиши.

dwhkl

[in] Идентификатор языка ввода данных, который используется для трансляции символа (буквы). Этим параметром может быть любой идентификатор языка ввода, предварительно возвращенный функцией LoadKeyboardLayout.

Возвращаемые значения

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

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

Бит

Описание

1

Нажата одна из двух клавиш SHIFT.

2

Нажата одна из двух клавиш CTRL.

4

Нажата одна из двух клавиш ALT.

8 Нажата клавиша Hankaku
16 Зарезервирован (определяется драйвером раскладки клавиатуры).
32 Зарезервирован (определяется драйвером раскладки клавиатуры).

Замечания

Идентификатор языка ввода данных - более широкое понятие чем раскладка клавиатуры, так как он может также охватывать преобразователь речи в текст,  Редактор Метода Ввода (IME) или любую другую форму ввода данных.

Для раскладок символов на клавиатуре, которые используют правостороннюю клавишу ALT как клавишу SHIFT (например, Французская раскладка символов на клавиатуре), состояние переключения представлено значением 6, потому что правосторонняя клавиша ALT внутренне преобразуется в CTRL+ALT.

Трансляция для цифрового клавишного поля (от VK_NUMPAD0 до VK_DIVIDE) игнорируется. Эта функция предназначена для того, чтобы переводить символы в нажатия клавиш только из главного раздела клавиатуры. Например, символ "7" транслируется в VK_7, а не в VK_NUMPAD7.

VkKeyScanEx используется прикладными программами, которые посылают символы, используя сообщения WM_KEYDOWN и WM_KEYUP.

Windows 95/98/Me: VkKeyScanExW поддерживается  подпрограммой Microsoft Layer for Unicode (MSLU). Чтобы использовать подпрограмму, Вы должны добавить некоторые файлы к вашему приложению, как это определено в Microsoft Layer for Unicode для систем Windows 95/98/Me.

Смотри также

Обзор Ввод данных с клавиатуры, GetAsyncKeyState, GetKeyboardState, GetKeyNameText, GetKeyState, LoadKeyboardLayout, SetKeyboardState, ToAsciiEx

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

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 4.0 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz