Registry, Windows’un çalışması ve çalıştırması gereken veritabanı diyebiliriz. Neredeyse tüm programlar registry ile çalıştığını az çok tahmin edebiliyorsunuzdur. Hikayeyi fazla derinleştirmeden asıl mevzumuza geçersek, kayıt gerektiren bir masaüstü uygulaması geliştirdiğimizde; şifre işlemleri, son giriş tarihi gibi vs. kayıt gerektiren işlemleri daha güvenli bir yerde saklamamız için registry’i kullanırız.
İnternet de bir çok registry işlemleri örnekleri görmüşsünüzdür. Alternatif olarak daha basit, mantığını aktarmak için küçük bir uygulama yapmak istedim(Uygulama herhani bir işe yaramıyor). Altta gördüğünüz uygulamanın amacı, HKEL_CURRENT_USER altındaki Software anahtarı altına istediğimiz isimde anahtar oluşturarak, onun içerisine istediğimiz değerlerde anahtar oluşturmak.
Resimdeki gibi basit form oluşturarak konuyu daha iyi anlayabilirsiniz. 3 tane buton ve ve bir label koyarak yapabilirsiniz. Oluşturduk tan sonra kod kısmına geçebiliriz;
[cc lang=”c#”]private void button1_Click(object sender, EventArgs e)
{
RegistryKey anahtar = Registry.CurrentUser;
try
{
anahtar = anahtar.CreateSubKey(“Software\\coder.digitaldunyam.net”);
label1.Text = “Anahtar oluşturuldu”;
}
catch (Exception)
{
}
}
private void button2_Click(object sender, EventArgs e)
{
RegistryKey anahtar = Registry.CurrentUser;
anahtar = anahtar.OpenSubKey(@”Software\coder.digitaldunyam.net”, true);
try
{
anahtar.SetValue(“Coder”,3, RegistryValueKind.DWord);
anahtar.SetValue(“String deger”, RegistryValueKind.String);
label1.Text = “Alt Anahtar oluşturuldu”;
}
catch (Exception)
{
label1.Text = “Hata !”;
}
}
private void button3_Click(object sender, EventArgs e)
{
RegistryKey anahtar = Registry.CurrentUser;
anahtar = anahtar.OpenSubKey(@”Software\coder.digitaldunyam.net”,true);
try
{
anahtar.DeleteValue(“Coder”);
label1.Text = “İlgili anahtar silindi”;
}
catch (Exception)
{
label1.Text =”Anahtar bulunamadı”;
}
}[/cc]
Açıklamaları kafa karıştırdığı için kod içinde vermiyorum. Anahtar oluşturma, silme işlemlerini anlamladırmak için Label ve mesajlar ile süsledim. Yapılanları görebilmek için Başlat-Çalıştır “Regedit” yazarak görebilirsiniz.
[stextbox id=”alert”]Dikkat etmeniz gereklerden bir tanesi using Microsoft.Win32; referansı ekleyip anahtar yollarını doğru yazmanız. CreateSubKey(“Software\\coder.digitaldunyam.net”) ile OpenSubKey(@”Software\coder.digitaldunyam.net”,true) arasındaki farkları göz ardı etmenizde fayda olacaktır. [/stextbox]