Have a play with the GetKeyState windows API function.
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Const KEY_TOGGLED As Integer = &H1
Const KEY_DOWN As Integer = &H1000
Private Sub RunMain()
If (GetKeyState(vbKeyShift) And KEY_DOWN) Then
Debug.Print "SHIFT is Pressed"
Else
Debug.Print ""
End If
If (GetKeyState(vbKeyF11) And KEY_DOWN) Then
Debug.Print "F11 Key is Pressed"
Else
Debug.Print ""
End If
If (GetKeyState(vbKeyCapital) And KEY_DOWN) Then
Debug.Print "Caps Lock is pressed"
ElseIf (GetKeyState(vbKeyCapital) And KEY_TOGGLED) Then
Debug.Print "Caps Lock is toggled"
Else
Debug.Print ""
End If
End Sub
Bookmarks