Öncelikle Registry'nin tanimindan baslayalim. Registry, Windows isletim sisteminin tüm ayarlarinin, teknik bilgilerinin tutuldugu yerdir. Baslat -> Çalistir'dan regedit yazdigimiz zaman Windows'un registry kullanici arayüzünü görebiliyoruz.
Registry kayitlari, Windows içinde USER.DAT ve SYSTEM.DAT isimli dosyalarda bulunmaktadir. Yapi olarak da sekilde de görülecegi gibi bir agaç yapisina sahiptir. Bilgisayardaki klasör-dosya mantigi burada anahtar-deger olarak kullanilmaktadir. C# ile Registry islemlerinin nasil yapilacagini inceleyelim. Registry'e Veri Yazma Bir program yazdiniz ve bu programin sifresinin bilgisayar içerisinde kaydedilmesini istiyorsunuz. O zaman sifrenizi sifreleyerek bilgisayarda registry kaydi olarak bulundurabilirsiniz. Bunun için öncelikle registry'nin iç yapisina bir göz atalim. Registry'de (Windows XP ve Vista) 5 adet root bulunmaktadir. Bunlara ulasabilmek için isimlerini kullanmamiz gerekmektedir. Root Root'lara Veri Yazma Registry.CurrentUser.SetValue("KullaniciAdi", "ugur"); Alt Anahtar Ekleme Bilgisayardaki klasör mantigi, registry'de anahtar ismiyle kullaniliyor demistik. Simdi Registry'e anahtar ekleme islemini inceleyelim. Registry.CurrentUser.CreateSubKey("Zirvedeki Beyinler");
Öncelikle using bölümüne
using Microsoft.Win32;
namespace'ini ekliyoruz.
CurrentUser
CurrentConfig
ClassesRoot
LocalMachine
Users
C# ile Registry Islemleri
Registry içerisinde "Current User" root'una "KullaniciAdi" isminde bir deger value ve buna "ugur" degerini atadik.
Current user root'unun içine "Zirvedeki Beyinler" isimli anahtari ekliyoruz.
Alt Klasör Veri Ekleme
Registry.CurrentUser.CreateSubKey("Zirvedeki Beyinler").SetValue("KullaniciAdi","ugur");
Iç Içe Klasör Olusturma
Registry.CurrentUser.CreateSubKey("Zirvedeki Beyinler").CreateSubKey("Bodrum");
Registry'den Veri Okuma
string veri = Registry.CurrentUser.GetValue("KullaniciAdi").ToString();
this.Text = veri;
Alt Klasör Silme
Registry.CurrentUser.CreateSubKey("Zirvedeki Beyinler").DeleteSubKey("Bodrum");
Klasör içindeki Degeri Silme
Registry.CurrentUser.DeleteValue("KullaniciAdi");
Alt Anahtar Sayisini Ögrenme
int adet = Registry.CurrentUser.SubKeyCount;
Deger Sayisini Ögrenme
int adet = Registry.CurrentUser.ValueCount;
Veysel Ugur KIZMAZ