Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB4/32,VB5,VB6
Expertise: Intermediate
Jul 3, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

LastKeyCode - Get the code of the last key pressed

Private Type POINTAPI
    x As Long
    y As Long
End Type

Private Type MSGTYPE
    hWnd As Long
    message As Long
    wParam As Long
    lParam As Long
    time As Long
    pt As POINTAPI
End Type

Private Declare Function GetInputState Lib "user32" () As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg _
    As MSGTYPE, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, _
    ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long

Const WM_KEYFIRST = &H100
Const WM_KEYLAST = &H108
Const PM_REMOVE = &H1

' Returns the code of the last key that has been pressed, zero otherwise

' it is useful to query whether the user pressed a key while the program
' is processing a tight loop, as in:
'     Do
'        ' do your processing here
'     Loop Until LastKeyCode = vbKeyEscape

Function LastKeyCode() As Integer
    Dim mess As MSGTYPE

    If GetInputState() Then
        PeekMessage mess, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE
        LastKeyCode = mess.wParam
    End If
End Function
Marco Losavio
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date