Visual Basic – Izlistavanje svih Mail klijenata na sistemu

Koliko imate instaliranih mail klijenata? Nije potrebno da mukotrpno pretražujete disk, već je dovoljan samo jedan „pogled“ u Registry bazu. Sve što vam je potrebno je da uz pomoć Visual Basic-a kreirate mali program koji će zaviriti u Registry bazu, i zatim vam prikazati podatke. Sledeći programski kod sa „copy-and-paste“ ubacite u novi modul projekta:


Declare Function RegOpenKey Lib „advapi32.dll“ Alias _
„RegOpenKeyA“ (ByVal hKey As Long, ByVal lpSubKey _
As String, phkResult As Long) As Long

Declare Function RegEnumKey Lib „advapi32.dll“ Alias _
„RegEnumKeyA“ (ByVal hKey As Long, ByVal dwIndex As Long, _
ByVal lpName As String, ByVal cbName As Long) As Long

Declare Function RegCloseKey Lib „advapi32.dll“ (ByVal hKey _
As Long) As Long

Public Const HKEY_LOCAL_MACHINE = &H80000002

Public Sub IzlistajMailKlijente(ListBox As ListBox)

Dim strKey As String * 255
Dim lngRegKey As Long
Dim intKey As Integer

ListBox.Clear

Call RegOpenKey(HKEY_LOCAL_MACHINE, _
„SoftwareClientsMail“, lngRegKey)

While RegEnumKey(lngRegKey, intKey, strKey, 255) = 0
ListBox.AddItem Left(strKey, InStr(strKey, Chr(0)) – 1)
intKey = intKey + 1
Wend

Call RegCloseKey(lngRegKey)

End Sub


Preostaje vam da na praznu formu dodate jedno komandno dugme i jedan ListBox. Na klik dugmića pozivaćemo funkciju „IzlistajMailKlijente“ kojoj ćemo kao argument proslediti naziv ListBox kontrole. Funkcija će obrisati sadžaj liste i ispisati sve mail klijente koji su instalirani. Provera se vrši u klijentskoj sekciji Registry baze, gde se iščitavaju svi ključevi. Pozovite funkciju na sledeći način:


Call IzlistajMailKlijente(List1)

Naravno, vrlo lako možete modifikovati kod da bi nazive klijenata smestili u niz.

Pratite Krstaricu na www.krstarica.com