Функция VkKeyScanA (winuser.h)
[Эта функция заменена функцией VkKeyScanEx . Однако вы по-прежнему можете использовать VkKeyScan, если не нужно указывать раскладку клавиатуры.]
Преобразует символ в соответствующий код виртуальной клавиши и состояние сдвига для текущей клавиатуры.
Синтаксис
SHORT VkKeyScanA(
[in] CHAR ch
);
Параметры
[in] ch
Тип: TCHAR
Символ, который необходимо преобразовать в код виртуального ключа.
Возвращаемое значение
Тип: SHORT
Если функция выполняется успешно, байт возвращаемого значения в нижнем порядке содержит код виртуального ключа, а байт высокого порядка — состояние сдвига, которое может быть сочетанием следующих битов флага.
Возвращаемое значение | Описание |
---|---|
|
Нажата любая клавиша SHIFT. |
|
Нажата либо клавиша CTRL. |
|
Нажата клавиша ALT. |
|
Нажата клавиша Ханкаку |
|
Зарезервировано (определяется драйвером раскладки клавиатуры). |
|
Зарезервировано (определяется драйвером раскладки клавиатуры). |
Если функция не находит ключ, который преобразуется в код переданного символа, байты нижнего и высокого порядка содержат –1.
Комментарии
Для раскладок клавиатуры, где в качестве клавиши SHIFT используется правая клавиша ALT (например, французская раскладка клавиатуры), состояние shift представлено значением 6, так как правая клавиша ALT преобразуется внутри в ctrl+ALT.
Переводы цифровой клавиатуры (VK_NUMPAD0через VK_DIVIDE) игнорируются. Эта функция предназначена для преобразования символов в нажатия клавиш только из раздела main клавиатуры. Например, символ "7" преобразуется в VK_7, а не в VK_NUMPAD7.
VkKeyScan используется приложениями, которые отправляют символы с помощью WM_KEYUP и WM_KEYDOWN сообщений.
Примечание
Заголовок winuser.h определяет VkKeyScan в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |