Veysel Uğur KIZMAZ

C# ile Registry Islemleri

16.06.2012Okunma Sayısı: 10886Kategori: C#.Net

Ö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.


Ö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