Функция VkKeyScan переводит символ в соответствующий код виртуальной клавиши и состояние переключения для текущей клавиатуры.
Эта функция была заменена функцией VkKeyScanEx. Вы можете все еще использовать VkKeyScan лишь в том случае, если Вам нет необходимости определять раскладку клавиатуры.
Синтаксис
SHORT VkKeyScan( TCHAR ch ); |
Параметры
ch
[in] Определяет символ, который будет оттранслирован в код виртуальной клавиши.Возвращаемые значения
Если функция завершается успешно, младший байт величины возвращаемого значения содержит код виртуальной клавиши, а старший байт содержит состояние переключения, которое может быть комбинацией следующих флаговых битов.
Если функция не находит клавишу, которая транслируется, чтобы послать код буквы, то младшие и старшие байты содержат – (минус)1.
Бит |
Описание |
1 |
Нажата одна из двух клавиш SHIFT. |
2 |
Нажата одна из двух клавиш CTRL. |
4 |
Нажата одна из двух клавиш ALT. |
8 | Нажата клавиша Hankaku |
16 | Зарезервирован (определяется драйвером раскладки клавиатуры). |
32 | Зарезервирован (определяется драйвером раскладки клавиатуры). |
Замечания
Для раскладок символов на клавиатуре, которые используют правостороннюю клавишу ALT как клавишу SHIFT (например, Французская раскладка символов на клавиатуре), состояние переключения представлено значением 6, потому что правосторонняя клавиша ALT внутренне преобразуется в CTRL+ALT.
Трансляция для цифрового клавишного поля (от VK_NUMPAD0 до VK_DIVIDE) игнорируется. Эта функция предназначена для того, чтобы переводить символы в нажатия клавиш только из главного раздела клавиатуры. Например, символ "7" транслируется в VK_7, а не в VK_NUMPAD7.
VkKeyScan используется прикладными программами, которые посылают символы, используя сообщения WM_KEYDOWN и WM_KEYUP.
Windows 95/98/Me: VkKeyScanW поддерживается подпрограммой Microsoft Layer for Unicode (MSLU). Чтобы использовать подпрограмму, Вы должны добавить некоторые файлы к вашему приложению, как это определено в Microsoft Layer for Unicode для систем Windows 95/98/Me.
Смотри также
Обзор Ввод данных с клавиатуры, GetAsyncKeyState, GetKeyboardState, GetKeyNameText, GetKeyState, SetKeyboardState, VkKeyScanEx, WM_KEYDOWN, WM_KEYUP
Размещение и совместимость VkKeyScan |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 4.0 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |