U četvrtom nastavku serijala o API funkcijama, pozabavićemo se nečim što se naziva "hot-key" (vrući tasteri), a u suštini označava kombinaciju tastera koju treba istovremeno pritisnuti na tastaturi radi pozivanja određene aplikacije ili neke funkcije aplikacije. Na primer, svi znamo da pod Windows operativnim sistemom, prečica "Alt+Tab" omogućava laki i brzi prelaz između aplikacija. Na isti način možemo isprogramirati da se i naša aplikacija odaziva na određenu kombinaciju tastera. Zato ćemo u sledećem primeru nekoj fiktivnoj aplikaciji dodeliti određenu prečicu.
Za dodelu prečica aplikaciji koristićemo SendMessage API funkciju. Funkcija SendMessage šalje određene sistemske poruke određenom prozoru, ili prozorima, aplikacije. Kao i u prethodnim primerima, krećemo od deklaracije funkcije:
Private Declare Function SendMessage _
Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any)
As Long
Potom ćemo kreirati i sve potrebne konstante:
Const WM_SETHOTKEY = &H32
Const VK_ALTPAUSE = &H413
I stižemo do finalnog dela, same funkcije za dodelu prečice. U našem primeru, podesićemo da za našu aplikaciju "hot-key" kombinacija bude kombinacija tastera "Alt" i "Pause". Kada ovo odradimo svaki put kada korisnik naše aplikacije pritisne kombinaciju "Alt+Pause", prozor aplikacije će iskočiti u prvi plan.
Sub PodesiKombinaciju()
Dim iResponse As Long
iResponse = SendMessage(Me.hwnd, _
WM_SETHOTKEY, VK_ALTPAUSE, 0)
If iResponse <> 1 Then MsgBox
("Alt+Pause nije validna kombinacija!")
End If
End Sub