Visual Basic – 5 zanimljivih API trikova (IV deo)

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

Pratite Krstaricu na www.krstarica.com