Aracılığıyla paylaş


Microsoft.Win32 Ad Alanını Kullanarak Kayıt Defterini Okuma ve Yazma (Visual Basic)

My.Computer.Registry Kayıt defterinde programlama yaparken temel gereksinimlerinizi karşılaması gerekse de, .NET ad alanında Microsoft.Win32 ve RegistryKey sınıflarını da kullanabilirsinizRegistry.

Kayıt Defteri Sınıfındaki Anahtarlar

sınıfı, Registry alt anahtarlara ve değerlerine erişmek için kullanılabilecek temel kayıt defteri anahtarlarını sağlar. Temel anahtarların kendileri salt okunur. Aşağıdaki tabloda sınıfı tarafından Registry kullanıma sunulan yedi anahtar listelenip açıklanmaktadır.

Anahtar Açıklama
ClassesRoot Belge türlerini ve bu türlerle ilişkili özellikleri tanımlar.
CurrentConfig Kullanıcıya özgü olmayan donanım yapılandırma bilgilerini içerir.
CurrentUser Ortam değişkenleri gibi geçerli kullanıcı tercihleri hakkında bilgi içerir.
DynData Sanal Cihaz Sürücüleri tarafından kullanılanlar gibi dinamik kayıt defteri verilerini içerir.
LocalMachine Yerel bilgisayarın yapılandırma verilerini barındıran beş alt anahtar (Donanım, SAM, Güvenlik, Yazılım ve Sistem) içerir.
PerformanceData Yazılım bileşenleri için performans bilgilerini içerir.
Users Varsayılan kullanıcı tercihleri hakkında bilgi içerir.

Önemli

Geçerli kullanıcıya () yerel bilgisayaraLocalMachine (CurrentUser) veri yazmak daha güvenlidir. Genellikle "çömelme" olarak adlandırılan bir koşul, oluşturduğunuz anahtar daha önce başka, büyük olasılıkla kötü amaçlı başka bir işlem tarafından oluşturulduğunda oluşur. Bunun oluşmasını önlemek için, anahtarın zaten mevcut olmaması durumunda döndüren Nothing gibi GetValuebir yöntem kullanın.

Kayıt Defterinden Değer Okuma

Aşağıdaki kodda, HKEY_CURRENT_USER'den bir dizenin nasıl okunduğu gösterilmektedir.

Dim regVersion As Microsoft.Win32.RegistryKey
Dim keyValue = "Software\\Microsoft\\TestApp\\1.0"
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
    intVersion = regVersion.GetValue("Version", 0)
    regVersion.Close()
End If

Aşağıdaki kod, HKEY_CURRENT_USER için bir dize okur, artırır ve yazar.

Dim regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
                  "SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
    ' Key doesn't exist; create it.
    regVersion = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(
                 "SOFTWARE\\Microsoft\\TestApp\\1.0")
End If

Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
    intVersion = regVersion.GetValue("Version", 0)
    intVersion = intVersion + 1
    regVersion.SetValue("Version", intVersion)
    regVersion.Close()
End If

Ayrıca bkz.