Функция GetAsyncKeyState

Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

GetAsyncKeyState определяет, нажата ли клавиша на момент вызова и были нажата клавиша после предыдущего вызова функции.

Возвращаемое значение

В случае ошибки (текущий поток не имеет фокус ввода) функция возвращает 0. В успешном случае функция возвращает бит состояния клавиши.

Параметры

vKey
Код проверяемой виртуальной клавиши. Можно задать флаг, определяющий левые и правые клавиши Ctrl, Alt,и Shift:
VK_LSHIFT = &HA0Левый Shift
VK_RSHIFT = &HA1Правый Shift
VK_LCONTROL = &HA2Левый Ctrl
VK_RCONTROL = &HA3Правый Ctrl
VK_LMENU = &HA4Левый Alt
VK_RMENU = &HA5Правый Alt

Пример

' Определим, была ли нажата клавиша Q
' после предыдущего вызова функции
Dim retval As Integer

' Получаем состояние клавиши Q
retval = GetAsyncKeyState(VK_Q)
' Проверяем бит &H1
If (retval And &H1) = &H1 Then
  Debug.Print "Клавиша Q была нажата при предыдущем вызове GetAsyncKeyState"
Else
  Debug.Print "Клавиша Q не была нажата при предыдущем вызове GetAsyncKeyState"
End If

Смотри также

GetKeyState

Категория

Клавиатура