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.
Öncelikle using bölümüne
using Microsoft.Win32;
namespace'ini ekliyoruz.
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
CurrentUser
CurrentConfig
ClassesRoot
LocalMachine
Users
Root'lara Veri Yazma
Registry.CurrentUser.SetValue("KullaniciAdi", "ugur");
Registry içerisinde "Current User" root'una "KullaniciAdi" isminde bir deger value ve buna "ugur" degerini atadik.

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");
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