pcworld online logo

Programlarınız için Registry ayarları

Çoğunuz Windows 95’in kayıt bilgileri (Registry) hakkında az çok bir şeyler biliyorsunuzdur. Registry programların kendisi hakkındaki bilgileri sakladığı uygun bir alandır.

Windows 3.1’de program bilgileri INI dosyalarında saklanırdı. Windows 95’de de 16 bitlik programlar halen INI dosyalarını kullanmalarına rağmen 32 Bitlik programlar artık registry’yi kullanıyor. Eğer 32 Bit’lik programlar hazırlıyorsanız siz de mutlaka registry bilgilerinin nasıl düzenlendiğini bilmelisiniz.

Visual Basic registry’ye bilgi yazmak için kendi içerisinde bulunan bir API fonksiyonunu kullanır. Bu fonksiyon bir komut değildir fakat VB bu fonksiyonu tanımak için dışarıdan bir DLL kullanmamaktadır. SaveSetting, GetSetting, DeleteSetting komutlarının genel kullanımı şöyledir:
[KOMUT] "[PROGRAM ADI]", "[ANAHTAR]", "[ÖZELLİK]", "[DEĞER]
komutların yerine getireceği işlev değiştikçe yukarıdaki satırın bazı parametreleri kullanılmayabilir.

İşte size registry’ye bilgi yazan, okuyan ve silen bir programcık, yaptığı ise basit: pencere büyüklüğünü ve pencerenin ekrandaki yerini registry’ye yazıp siz istediğinizde görüntülüyor.

Private Sub Command1_Click()
'Ayarları kaydet
SaveSetting "Deneme", "Ayarlar", "Top", Form1.Top
SaveSetting "Deneme", "Ayarlar", "Left", Form1.Left
SaveSetting "Deneme", "Ayarlar", "Width", Form1.Width
SaveSetting "Deneme", "Ayarlar", "Height", Form1.Height
End Sub

Private Sub Command2_Click()
GetSetting "Deneme", "Ayarlar", "Left"
GetSetting "Deneme", "Ayarlar", "Top"
GetSetting "Deneme", "Ayarlar", "Width"
GetSetting "Deneme", "Ayarlar", "Height"

mesaj$ = "Sol: " & Left & Chr$(13) & "Üst: " & Top & Chr$(13) & "Uzunluk: " & Width & Chr$(13) & "Yükseklik: " & Height
MsgBox mesaj$, 64, "Mevcut Registry Ayarları"
End Sub

Private Sub Command4_Click()
'Oluşturduğumuz registry ayarlarını silmek...
'Deneme isimli programın tüm ayarlarını silmek için
DeleteSetting "Deneme"

'Sadece "Ayarlar" anahtarını silmek için
'DeleteSetting "Deneme", "Ayarlar"
'Kullanabilirsiniz...
End Sub