Функция GetKeyState

Declare Function GetKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer

Платформа

GetKeyState определяет текущее состояние клавиши. Функция находит, нажата ли клавиша в настоящее время или нет, и определяет, переключается ли клавиша в настоящее время.

Возвращаемое значение
Если установлен параметр &H1, клавиша переключается. Если установлен параметр &H80, то клавиша в данный момент нажата.

Параметры

nVirtKey
Код виртуальной клавиши. Windows NT, 2000: Это может быть один из следующих флажков, которые различают левый и правый Ctrl, Alt, и SHIFT:
Const VK_LSHIFT = &HA0
Левый Shift.
Const VK_RSHIFT = &HA1
Правый Shift.
Const VK_LCONTROL = &HA2
Левый Ctrl.
Const VK_RCONTROL = &HA3
Правый Ctrl.
Const VK_LMENU = &HA4
Левый Alt.
Const VK_RMENU = &HA5
Правый Alt.

Пример:

' Отобразим текущее состояние клавиши ENTER.
Dim keystate As Long  ' состояние клавиши

' Читаем текущее состояние клавиши ENTER.
keystate = GetKeyState(VK_RETURN)

' Отобразим состояние переключателя клавиши ENTER.
If (keystate And &H1) = &H1 Then
  Debug.Print "Клавиша ENTER в настоящее время переключается."
Else
  Debug.Print "Клавиша ENTER в настоящее время не переключается."
End If
' Нажимается ли Клавиша ENTER или нет.
If (keystate And &H80) = &H80 Then
  Debug.Print "Клавиша ENTER в настоящее время нажата."
Else
  Debug.Print "Клавиша ENTER сейчас не нажата."
End If

Схожие функции
GetAsyncKeyState, GetKeyboardState
Категория
Клавиатура

В начало.