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