Nasıl Yapılır: Visual Basic'te Kayıt Defteri Anahtarından Değer Okuma
GetValue Yöntemi, My.Computer.Registry nesnesi, Windows kayıt defterindeki değerleri okumak için kullanılabilir.
Aşağıdaki örnekte, "Software\MyApp" anahtar yoksa, bir istisnası atılır.ValueName, "Name" aşağıdaki örnekte yok, Nothing döndürülür.
GetValue Yöntemi de belirli bir değeri belirli bir kayıt defteri anahtarında var olup olmadığını belirlemek için kullanılabilir.
Kod, bir Web uygulamasından kayıt okuduğunda, geçerli kullanıcı kimlik doğrulaması ve kimliğe bürünme Web uygulamasında uygulanan tarafından belirlenir.
Kayıt defteri anahtarından bir değer okumak için
Kullanmak GetValue yolunu ve adını belirleme yöntemi) kayıt defteri anahtarı okunamadı.Aşağıdaki örnek değerini okur Name dan HKEY_CURRENT_USER\Software\MyApp ve bir ileti kutusunda görüntüler.
Dim readValue = My.Computer.Registry.GetValue( "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing) MsgBox("The value is " & readValue)
Bu kod örneği, bir IntelliSense kod parçacığı olarak da kullanılabilir.Kod parçacığı Seçici'de, içinde bulunduğu Windows işletim sistemi > Kayıt defteri.Daha fazla bilgi için bkz. Kod Parçacıkları.
Bir değer olup olmadığını belirlemek için bir kayıt defteri anahtarında bulunmaktadır.
Use GetValue değerini almak için yöntem.Aşağıdaki kod değeri varsa ve yoksa bir ileti döndürür olup olmadığını denetler.
If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp", "TestValue", Nothing) Is Nothing Then MsgBox("Value does not exist.") End If
Güçlü Programlama
Kayıt üst düzey tutan veya kök, verileri depolamak için kullanılan tuşlar.Örneğin, HKEY_LOCAL_MACHINE kök anahtarı hkey_current_user tek bir kullanıcıya özgü verileri saklamak için kullanılan tüm kullanıcılar tarafından kullanılan makine düzeyinde ayarları depolamak için kullanılır.
Aşağıdaki durumlar aykırı bir durum oluşturabilir:
Anahtar adı Nothing (ArgumentNullException).
Kullanıcının kayıt defteri anahtarlarını Okuma izinleri yok (SecurityException).
Anahtar adı 255 karakter sınırını aşıyor (ArgumentException).
Güvenlik
Bu işlemin çalışması için derlemenize bir ayrıcalık düzeyi verilen tarafından gerektirir RegistryPermission sınıfı.Bir kısmi güven bağlamında çalıştırıyorsanız, işlem yeterli yüzünden bir özel durum yaratabilir.Benzer şekilde, kullanıcı oluşturma veya ayarlar yazmak için doğru ACL olmalıdır.Örneğin, kod erişimi güvenlik izni olan yerel bir uygulamanın işletim sistemi izni olmayabilir.Daha fazla bilgi için bkz. Kod Erişim Güvenliği Temelleri.