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