Windows API Guide - Reference - Volume 1: Version 3.0 For the MS-DOS and PC-DOS Operating Systems
Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
Platforms
- Windows 95: Supported.
- Windows 98: Supported.
- Windows NT: Requires Windows NT 3.1 or later.
- Windows 2000: Supported.
- Windows CE: Requires Windows CE 1.0 or later.
Description & Usage
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.
Return Value
If the function fails (if the current thread does not have the input focus), the function returns 0. If the &H8000 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 &H1 bit of the return value is set, the key is currently pressed down.
Visual Basic-Specific Issues
None.
Parameters
- vKey
- The virtual-key code of the key to check. Windows NT, 2000: This could also be one of the following flags which distinguish between the left and right Ctrl, Alt, and Shift keys:
- VK_LSHIFT
- The left Shift key.
- VK_RSHIFT
- The right Shift key.
- VK_LCONTROL
- The left Ctrl key.
- VK_RCONTROL
- The right Ctrl key.
- VK_LMENU
- The left Alt key.
- VK_RMENU
- The right Alt key.
Constant Definitions
Const VK_LSHIFT = &HA0 Const VK_RSHIFT = &HA1 Const VK_LCONTROL = &HA2 Const VK_RCONTROL = &HA3 Const VK_LMENU = &HA4 Const VK_RMENU = &HA5
Example
' This code is licensed according to the terms and conditions listed here. ' Declarations and such needed for the example: ' (Copy them to the (declarations) section of a module.) Public Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer ' Determine whether the Q key has been pressed or not since the last ' call to the function (assuming this example code has already been run earlier). ' The code runs when button Command1 is pressed. Private Sub Command1_Click() Dim keystate As Integer ' state of the Q key ' Get the state of the Q key as returned by the function. ' (vbKeyQ is a VB-defined constant for Q's virtual-key code) keystate = GetAsyncKeyState(vbKeyQ) ' Check the &H8000 bit of the return value. If keystate And &H8000 Then Debug.Print "The Q key has been pressed since the last check." Else Debug.Print "The Q key has not been pressed since the last check." End If End Sub
See Also
GetKeyState
Category
Keyboard
Go back to the alphabetical Function listing. Go back to the Reference section index.
Last Modified: July 30, 2000 This page is copyright © 2000 Paul Kuliniewicz. Copyright Information Revised October 29, 2000 Go back to the Windows API Guide home page. E-mail: vbapi@vbapi.com Send Encrypted E-Mail This page is at http://www.vbapi.com/ref/g/getasynckeystate.html