Merhaba arkadaşlar,kaan arkadaşımızın blogundaki ilk yazımda sizlere .net platformu üzerinde visual basic ile registy kayıt işlemlerini anlatmaya çalışacağım.
Öncelikle Registry tüm Windows sistem ayarlarının tutulduğu bir veritabanıdır diyebiliriz. Bu veritabanının gerekli yerlerinde değişiklik yapılarak Windows’un istenen herhangi bir yerine hükmedilebilir.
Nerde Kullanabiliriz?
Bazı uygulamalarda bir veya birkaç degeri hafızada tutmak isteyebiliriz.yalnız bunu uygulama dışında yapmamız gerekebilir.Şöyleki diyelim ki belli saatte uyarı veren bi program yaptınız ve saat değerini 1 kere girdiniz.ama program kapatılıp tekrar açıldıgında o saat hafızada kalsın istiyorsunuz.işte aradığınız şey registry kaydı
Birgün iletişim protokolü ( ki bu konuyu ilerleyen zamanlarda anlatmaya çalışacağım) üzerinde çalışma yapmak isterseniz vazgeçemeyeceğiniz bir yöntem olacaktır.
Neyse konuyu dağıtmadan kayıt işleminin nasıl yapıldıgına geçeyim…
Imports Microsoft.Win32
win32 namespace imizi uygulamaya import ediyoruz.bu bize registry alt classlarına erişmemizi sağlayacaktır.
Public Sub KayıtAc()
Dim _RegKayit As RegistryKey
_RegKayit = Registry.LocalMachine.OpenSubKey("Software", True)
_RegKayit.CreateSubKey("ibrahim")
_RegKayit.Close()
End Sub
Registry e kayıt eklemeden önce registry de bir dizin oluşturmamız gerekiyor.Biz Burada Localmachine içerisinde Software diye bir dizin açıyoruz.Hemen ardından bu klasör içerinde “ibrahim” adında bir dizin daha oluşturduk
Public Sub Kaydet(ByVal ServerAdi As String, ByVal User As String, ByVal Pass As String)
Dim _Regkayit2 As RegistryKey
_Regkayit2 = Registry.LocalMachine.OpenSubKey("Software\ibrahim", True)
_Regkayit2.SetValue("ServerAdi", ServerAdi)
_Regkayit2.SetValue("UserId", User)
_Regkayit2.SetValue("Pass", Pass)
_Regkayit2.Close()
End Sub
Buradada anlaşılacağı üzere “ibrahim” dizinimiz içerisinde örnek amaçlı 3 dizin oluşturup içlerinede SetValue Komutu ile Prosedürümüzün argümanlarını atadık.
Görüldüğü gibi Kayıt İşlemi bu kadar basit.
Peki bu kayıtları tekrar nasıl okuyacağız.Yani madem kaydettik okumazsak bi anlamı olmaz değilmi
Gelelim Registry içerisinde açtığımız dizinler içerisinden değer okumaya…
Public Sub Oku()
Dim _Regkayit2 As RegistryKey
_Regkayit2 = Registry.LocalMachine.OpenSubKey("Software\ibrahim", True)
ServerNames = _Regkayit2.GetValue("ServerAdi").ToString
UserNames = _Regkayit2.GetValue("UserId").ToString
UserPasss = _Regkayit2.GetValue("Pass").ToString
_Regkayit2.Close()
End Sub
Değerleri Kaydetmeye çok benziyor değilmi? Hemen Hemen tek fark SetValue Komutu yerine GetValue Kullanmak.
Evet Registry kayıt işlemi ve bu kayıtları okuma bu kadar.
Uygulamayı oluşturup deneme yapmak için Başlat->Çalıştır->Regedit yolunu izleyerek test işlemini gerçekleştirebilirsiniz.
Şimdilik Bu kadar hoşçakalın.
Kaana da teşekürler…
Like this:
Be the first to like this post.