Win32 API. Функции и сообщения ввода информации с клавиатуры - Функция GetAsyncKeyState
ОГЛАВЛЕНИЕ
Функция GetAsyncKeyState
(ПолучитьАсинхронноСостояниеКлавиши)
Функция GetAsyncKeyState устанавливает, в нажатом или отпущенном состоянии находится клавиша во время, когда вызывается функция и была ли клавиша нажата после предыдущего вызова GetAsyncKeyState().
Синтаксис
SHORT GetAsyncKeyState
(
int vKey // код виртуальной клавиши
);
Параметры
vKey
Определяет один из 256 возможных кодов виртуальной клавиши.
Windows NT: Вы можете использовать лево - и правосторонние константы, чтобы определять некоторые клавиши. Для дополнительной информации см. раздел Замечания.
Windows 95: Windows 95 не поддерживает лево - и правосторонние константы, доступные в Windows NT.
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения определяет, была ли клавиша нажата начиная с последнего вызова GetAsyncKeyState, и какое из двух состояний, нажатое или отпущенное, занимает в настоящее время клавиша. Если старший значащий бит установлен, клавиша - нажата, а если наименьший значащий бит установлен, клавиша была нажата после предыдущего вызова GetAsyncKeyState. Величина возвращаемого значения нулевая, если окно в другом потоке или процессе в настоящее время имеет фокус клавиатуры.
Windows 95: Windows 95 не поддерживает лево - и правосторонние константы. Если Вы вызываете GetAsyncKeyState на платформе Windows 95 с этими константами, величина возвращаемого значения нулевая.
Замечания
Вы можете использовать константы кода виртуальной клавиши VK_SHIFT, VK_CONTROL и VK_MENU как значения для параметра vKey. Это дает состояние клавиш SHIFT, CTRL или ALT без различия между левой и правой сторонами.
Windows NT: Вы можете использовать следующие константы кода виртуальной клавиши как значения для vKey, чтобы делать различие между левыми и правыми экземплярами этих клавиш:
VK_LSHIFT VK_RSHIFT
VK_LCONTROL VK_RCONTROL
VK_LMENU VK_RMENU
Эти лево- и правосторонние константы доступны только тогда, когда Вы вызываете функции GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState и MapVirtualKey
Windows 95: Windows 95 не поддерживает лево - и правосторонние константы и возвращается 0, когда Вы используете эти константы.
Функция GetAsyncKeyState работает с кнопками мыши. Однако она контролирует состояние физических, а не логических кнопок мыши, которыми физические кнопки отображаются. Например, вызов GetAsyncKeyState (VK_LBUTTON) всегда возвращает состояние левой физической кнопки мыши, которая может отображать левую или правую логическую кнопку мыши. Вы можете установить текущее отображение физических кнопок мыши в логических кнопках мыши системой путем вызова функции
GetSystemMetrics(SM_SWAPBUTTON)
которая возвращает значение ИСТИНА (TRUE), если кнопки мыши менялись.
Смотри также
GetKeyboardState, GetKeyState, GetSystemMetrics, MapVirtualKey, SetKeyboardState
Размещение и совместимость GetAsyncKeyState
Windows NT Да
Win95 Да
Win32s Да
Импортируемая библиотека user32.lib
Заголовочный файл winuser.h
Unicode Нет
Замечания по платформе Не имеется