Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Извлекает состояние указанного виртуального ключа. Состояние указывает, находится ли ключ вверх, вниз или переключается (вкл., отключается) при каждом нажатии клавиши.
Синтаксис
SHORT GetKeyState(
[in] int nVirtKey
);
Параметры
[in] nVirtKey
Тип: int
Виртуальный ключ. Если нужный виртуальный ключ является буквой или цифрой (A–Z, z или 0–9), nVirtKey необходимо задать значение ASCII этого символа. Для других ключей он должен быть кодом виртуального ключа.
Если используется макет клавиатуры, отличный от английского, виртуальные клавиши со значениями в диапазоне ASCII A до Z и 0–9 используются для указания большинства символьных клавиш. Например, для немецкой клавиатуры виртуальный ключ значения ASCII O (0x4F) ссылается на клавишу O, а VK_OEM_1 ссылается на клавишу O с umlaut.
Возвращаемое значение
Тип: SHORT
Возвращаемое значение указывает состояние указанного виртуального ключа следующим образом:
- Если бит высокого порядка равен 1, ключ вниз; в противном случае это происходит.
- Если бит низкого порядка равен 1, ключ переключается. Если этот ключ включен, ключ CAPS LOCK, переключается. Ключ отключен и отключен, если бит низкого порядка равен 0. Переключатель индикатора клавиши (если таковой) на клавиатуре будет включен, когда ключ переключается, и отключается, когда клавиша отключена.
Замечания
Состояние ключа, возвращаемое этой функцией, изменяется, так как поток считывает ключевые сообщения из очереди сообщений. Состояние не отражает состояние уровня прерывания, связанное с оборудованием. Используйте функцию GetAsyncKeyState для получения этой информации.
Приложение вызывает GetKeyState в ответ на сообщение с вводом клавиатуры. Эта функция извлекает состояние ключа при создании входного сообщения.
Чтобы получить сведения о состоянии для всех виртуальных ключей, используйте функцию GetKeyboardState .
Приложение может использовать константы кода виртуального ключаVK_SHIFT, VK_CONTROL и VK_MENU в качестве значений для параметра nVirtKey . Это дает состояние клавиш SHIFT, CTRL или ALT без различия между левым и правым. Приложение также может использовать следующие константы кода виртуального ключа в качестве значений для nVirtKey , чтобы различать левые и правые экземпляры этих ключей:
VK_LSHIFT VK_RSHIFT VK_LCONTROLVK_RCONTROLVK_LMENUVK_RMENU эти константы слева и справа доступны приложению только с помощью функций GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState и MapVirtualKeyKey.
Примеры
Пример см. в разделе "Отображение ввода клавиатуры".
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 2000 Профессиональный [только классические приложения] |
| минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
| целевая платформа | Windows |
| Header | winuser.h (включая Windows.h) |
| Library | User32.lib |
| DLL | User32.dll |