Giriş
Bu makalenin asıl amacı registry ile VB .NET arasındaki ilişkiyi anlayabilmenizi sağlamaktır. Bu konu büyük bir önem arz etmektedir. Çünkü uygulamanıza ait verileri bu kısımda saklamanız mümkün ya da uygulamanızın demo sürümü gibi işlemleri hazırlayabilirsiniz.
Registry Nedir?
Genel olarak registry Windows 9Xin bütün ayarlarının tutulduğu bir veritabanıdır. 5Bölüm altında incelenmektedir.
HKEY_CLASSES_ROOT: Bu dalda dosya türleri ve OLE hakkındaki bilgiler saklanır. OLE sistemini kullanan uygulamalar bilgileri bu dalın alt dallarından alabilirler.
HKEY_CURRENT_USER : HKEY_USERS bölümünün, o anki aktif kullanıcı için ayrılmış ve ayarlanmış olan değerlerine buradan erişebilirsiniz.
HKEY_LOCAL_MACHINE : Bilgisayarınızda kurulu durumda bulunan bütün yazılım ve donanım bileşenlerinin bilgileri ve ayarları bu bölümde tutulan kısımdır.
HKEY_USERS : Bilgisayarın bütün kayıtlı kullanıcılarının özelleştirilmiş ayarları (renkler,denetim masası ayarları vs...) bu bölümde kayıtlıdır.
HKEY_CURRENT_CONGIF : Bu dalda o anda aktif olarak kullanılmakta olan donanım ve yazılım ayarlarına gitmek için bu daldan yola çıkabilirsiniz.
Yukarıdaki bu temel bilgilerden sonra artık Örneğimize ait kodlamaya başlayabiliriz.Öncelikle yazacağımız kodlara ait kütüphaneyi aktif hale getirmeliyiz. Bunu şu kod ile yapıyoruz.
Imports Microsoft.Win32 { Programın code ekranının en üst kısmına yazılır} |
Hangi root’a erişmek isterseniz ona ait kodları aşağıda görebilirsiniz.
Registry.CurrentUser Registry.CurrentConfig Registry.ClassesRoot Registry.LocalMachine Registry.Users |
Veriyi Kayıt Etmek
Bir veriyi kayıt etmek için SetValue fonksiyonu kullanılır. Aşağıdaki örnek de basit bir uygulama görebilirsiniz.
Registry.CurrentUser.SetValue(“Galatasaray” , 1905) |

Veriyi Çağırmak
Bir veriyi çağırmak için GetValue fonksiyonu kullanlır. Aşağıdaki örnek de basit bir uygulama görebilirsiniz.
TextBox1.Text = Registry.CurrentUser.GetValue(“Galatasaray”) |

Veriyi Silmek
Bir veriyi silmek için DeleteSubKey fonksiyonu kullanlır. Aşağıdaki örnek de basit bir uygulama görebilirsiniz.
Registry.CurrentUser.DeleteValue(“Galatasaray”) |
Uygulama
Öncelikle formumuzu aşağıdaki gibi tasarlayalım. 2 Adet Label , 2Adet TextBox , 1 Adet Buton .
Yukarıdaki tasarım için Kullanıcı adı Galatasaray olan ve şifresi de 1905 olan bir kullanıcının bu bilgilerini registryden doğrulamasını sağlayacağız.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim oku As String oku = Registry.CurrentUser.GetValue("sifre") -- oku isimli değişkene şifre değerini aktarıyoruz If oku Is Nothing Then -- Eger oku isimli değişken bir veriye sahip değilse aşağıdaki kodlar uygulanıyor Registry.CurrentUser.SetValue("kullaniciadi", "Galatasaray") Registry.CurrentUser.SetValue("sifre", 1905) End If End Sub |
Formun load olayında öncelikle registryde şifremizin olup olmadığı şeklinde kontrol yaptırıyoruz ve eğer yok ise kullanıcıadı(Galatasaray) ve şifre(1905) yukarıdaki gibi oluşturuluyor.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim ad, sifre As String ad = Registry.CurrentUser.GetValue("kullaniciadi")-- Registrydeki kullanıcıadı ad isimli değişeke aktarıldı sifre = Registry.CurrentUser.GetValue("sifre")-- Registrydeki şifre sifre isimli değişkene aktarıldı If TextBox1.Text = ad And TextBox2.Text = sifre Then-- bu kısımda şifre ve kullanıcıadının kontrolü yapılıyor MsgBox("Sisteme giriş sağlandı") Else MsgBox("Sisteme giriş başarısız") End If End Sub |

Yukarıdaki kodlar button1 nesnesinin click olayına yazılmıştır. Butona tıklanıldığında registrydeki kayıt etmiş olduğumuz kullanıcıadı ve şifre verileri ad ve sifre isimlerindeki değişkenlere aktarılıyor. Ve bunun neticesinde her iki koşulda doğru ise “sisteme giriş sağlandı” şeklinde küçük bir bilgilendirme penceresi geliyor.
Sonuç
Bu makalemizde VB .NET ile Registry işlemlerini yapabilmeniz için temel konulara değinmeye çalıştım. Sizlerin bu makaleden yola çıkarak daha gelişmiş Registry uygulamaları yapmanız mümkün. Buradaki küçük uygulama ile en azından fikir sahibi olduğunuzu umuyorum.
makaledeki örnek uygulamayı indirmek için tıklayın
Bir sonraki makalemde görüşmek dileğiyle . . .