Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
GetAsyncKeyState determines whether a certain key is currently pressed and whether that key has been pressed since the last call to the function. This function fails if the thread calling it does not currently have the input focus.
If the function fails (if the current thread does not have the input focus), the function returns 0. If the &H1 bit of the return value is set, the key has been pressed at least once since the last time the thread called GetAsyncKeyState. If the &H80 bit of the return value is set, the key is currently pressed down.
None.
Const VK_LSHIFT = &HA0
Const VK_RSHIFT = &HA1
Const VK_LCONTROL = &HA2
Const VK_RCONTROL = &HA3
Const VK_LMENU = &HA4
Const VK_RMENU = &HA5
' Determine whether the Q key has been pressed or not since
' the last time the program called the function. Obviously, this
' example assumes the GetAsyncKeyState has already been
' called by the program earlier.
Dim result As Integer ' result of the function
' Get the state of the Q key as returned by the function.
result = GetAsyncKeyState(VK_Q) ' get status of the Q key
' Check the &H1 bit of the return value.
If (result And &H1) = &H1 Then
Debug.Print "The Q key has been pressed since the last call to GetAsyncKeyState."
Else
Debug.Print "The Q key has not been pressed since the last call to GetAsyncKeyState."
End If
Last Modified: September 4, 1999
This page is copyright © 1999 Paul Kuliniewicz. Copyright Information