Make An HotKey For Your Application

Copy the following code and run the program.
Now launch other application, or do anything that will make your program lose its focus and be hidden.
Press Alt + z (the hotkey in this example) and you will see your program again.

Module Code

Declare Function SendMessage Lib "user32" Alias _
  "SendMessageA" (ByVal hwnd As Long, _
  ByVal wMsg As Long, ByVal wParam As Long, _
  lParam As Long) As Long
 
Declare Function DefWindowProc Lib "user32" _
  Alias "DefWindowProcA" (ByVal hwnd As Long, _
  ByVal wMsg As Long, ByVal wParam As Long, _
  ByVal lParam As Long) As Long
 
Public Const WM_SETHOTKEY = &H32
Public Const WM_SHOWWINDOW = &H18
Public Const HK_SHIFTA = &H141 'Shift + A
Public Const HK_SHIFTB = &H142 'Shift + B
Public Const HK_CONTROLA = &H241 'Control + A
Public Const HK_ALTZ = &H45A
 
'The value of the key-combination has to
'declared in lowbyte/highbyte-format
'That means as a hex-number: the last two
'characters specify the lowbyte (e.g.: 41 = a),
'the first the highbyte (e.g.: 01 = 1 = Shift).
'Thus, &H141 = Shift + A

Form Code

Private Sub Form_Load()
'Let windows know what hotkey you want for your app.
  
erg& = SendMessage(Me.hwnd, WM_SETHOTKEY, HK_ALTZ, 0)
'Check if succesfull
   If erg& <> 1 Then MsgBox "You need another hotkey", vbOKOnly, "Error"
'Tell windows what it should do, when the hotkey
'is pressed -> show the window!

  erg& = DefWindowProc(Me.hwnd, WM_SHOWWINDOW, 0, 0)
End Sub

Go Back