devxlogo

EscapePressed – Check whether the Esc key was pressed

EscapePressed – Check whether the Esc key was pressed

Private Type POINTAPI    x As Long    y As LongEnd TypePrivate Type MSGTYPE    hWnd As Long    message As Long    wParam As Long    lParam As Long    time As Long    pt As POINTAPIEnd TypePrivate Declare Function GetInputState Lib "user32" () As LongPrivate 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 LongConst WM_KEYFIRST = &H100Const WM_KEYLAST = &H108Const PM_REMOVE = &H1' Returns the code of the last key that has been pressed, zero otherwise' Check whether the user pressed the escape key, and optionally displays a ' message' box that asks him or her to confirm that the job should be canceled'' example:'     Do'        ' do your processing here'        If EscapePressed("Do you want to stop processing?") Then Exit Do'     LoopPublic Function EscapePressed(Optional msgText As String) As Boolean    Dim mess As MSGTYPE    If GetInputState() Then        PeekMessage mess, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE        If mess.wParam = vbKeyEscape Then            If Len(msgText) = 0 Then                ' Escape was pressed, return True without showing a msgbox                EscapePressed = True            Else                ' Escape was pressed, ask user to confirm                EscapePressed = (MsgBox(msgText, vbQuestion + vbYesNo) = vbYes)            End If         End If    End IfEnd Function

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist