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