HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A Windows regisztrációs adatbázisának elérése


Példaprogram letöltése

6941 bájt

Ebben a cikkben annak járunk utána, hogy vajon miként is tudjuk elérni és kezelni a Windows regisztrációs adatbázisát a Visual Basic nyelvből.

Ehhez találunk egy RegistryKey osztályt a Microsoft.Win32 névtérben. Így használatához erre hivatkoznunk is kell a forráskódunkban:
Imports Microsoft.Win32
Mellékelt példában az egyik nyomógomb lenyomásának hatására létrehozunk egy új kulcsot a regisztrációs adatbázisba, majd eltárolunk benne egy szám értéket. Ehhez első lépésként kapcsolatot kell teremtenünk a regisztrációs adatbázissal. Ehhez az OpenRemoteBaseKey függvényt használjuk fel. Itt első paraméterként egy felsorolt típus egy elemét adjuk meg, mely a főkulcsra utal. Értéke az alábbiak egyike lehet:
  • ClassesRoot
  • CurrentConfig
  • CurrentUser
  • DynData
  • LocalMachine
  • PerformanceData
  • Users
Második paraméterben pedig a számítógép nevét adhatjuk meg. Null sztring esetén a saját gépről lesz szó.
Miután a kapcsolat létrejött létrehozunk egy új kulcsot, ahol majd az értékünket tároljuk. Ehhez a CreateSubKey függvény használható, mely szintén a RegistryKey osztály része. Itt paraméterként a létrehozandó kulcs nevét kell megadnunk. Ha már létezne az itt megadott kulcs, akkor az megnyitásra kerül. Visszatérési értékként egy RegistryKey objektumot kapunk.
Harmadik lépésként már csak a szükséges érték eltárolása marad hátra. Ebben a SetValue függvény segít bennünket. Ennek első paramétere a tárolási név, a második pedig annak értéke lesz.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim key As RegistryKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, "")
    Dim subkey As RegistryKey = key.CreateSubKey("Software\\Animare Software\\Sample")
    subkey.SetValue("Value", 12345)
End Sub
Egy eltárolt értéket kiolvasni a következő módszerrel tudunk. (Ez található a mellékelt példa második nyomógombjánál.) Szintén kapcsolatot létesítünk a regisztrációs adatbázissal, mint az előbb, majd megnyitjuk azt a kulcsot, melyből olvasni szeretnénk. Ehhez az OpenSubKey-t használjuk, ahol első paraméterként a megnyitandó kulcs nevét adjuk meg, másodikként opcionálisan megadhatunk egy logikai értéket, mely ha igaz, akkor a megnyitott kulcsba írhatunk, módosíthatunk is. Ha ezt nem tesszük, akkor csak olvasható kapcsolatunk lesz.
Az érték kiolvasásához pedig a GetValue függvényt használhatjuk, ahol paraméterként a kiolvasandó érték nevét adjuk meg.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim key As RegistryKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, "")
    Dim subkey As RegistryKey = key.OpenSubKey("Software\\Animare Software\\Sample")
    Label1.Text = subkey.GetValue("Value").ToString()
End Sub
Nézzük milyen lehetőségeink vannak még a RegistryKey osztályban.
Egy megnyitott kulcsot a Close függvénnyel zárhatunk le, míg ha törölni szeretnénk, akkor a DeleteSubKey-t használhatjuk, ahol paraméterként a törlendő kulcsot kell átadnunk. Ha a DeleteSubKeyTree-t használjuk törlésre, akkor a paraméterként megadott kulcs összes alkulcsa és értéke is törlésre kerül.
A DeleteValue függvénnyel egy nyitott kulcson belül törölhetünk egy értéket.
A GetSubKeyNames függvény egy sztring tömböt ad vissza az aktuálisan nyitott kulcson belül található alkulcsok neveiről. Ehhez hasonlóan a GetValueNames függvény az adott kulcson található értékek neveivel tér vissza.
Találunk a RegistryKey osztályban még három property-t is. A Name az aktuális kulcsot adja vissza sztringként. A SubKeyCount-ből az adott kulcson belül található alkulcsok számát olvashatjuk ki, míg a ValueCount property-ből az adott kulcson található értékek számát kapjuk meg.

Cikksorozat



Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |