Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die GetValue
Methode des My.Computer.Registry
Objekts kann zum Lesen von Werten in der Windows-Registrierung verwendet werden.
Wenn der Schlüssel "Software\MyApp" im folgenden Beispiel nicht vorhanden ist, wird eine Ausnahme ausgelöst. Wenn der ValueName
, im folgenden Beispiel "Name", nicht vorhanden ist, wird Nothing
zurückgegeben.
Die GetValue
Methode kann auch verwendet werden, um zu bestimmen, ob ein bestimmter Wert in einem bestimmten Registrierungsschlüssel vorhanden ist.
Wenn der Code die Registry aus einer Webanwendung liest, wird der aktuelle Benutzer durch die Authentifizierung und den Identitätswechsel bestimmt, die in der Webanwendung ausgeführt werden.
So lesen Sie einen Wert aus einem Registrierungsschlüssel
Verwenden Sie die
GetValue
-Methode, um einen Wert aus dem Registrierungsschlüssel zu lesen, indem Sie den Pfad und den Namen angeben. Im folgenden Beispiel wird der WertName
vonHKEY_CURRENT_USER\Software\MyApp
gelesen und in einem Meldungsfeld angezeigt.Dim readValue = My.Computer.Registry.GetValue( "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing) MsgBox("The value is " & readValue)
Dieses Codebeispiel ist auch als IntelliSense-Codeausschnitt verfügbar. In der Codeausschnittauswahl befindet sie sich in der Windows-Betriebssystemregistrierung>. Weitere Informationen finden Sie unter Codeschnipsel.
So bestimmen Sie, ob ein Wert in einem Registrierungsschlüssel vorhanden ist
Verwenden Sie die
GetValue
Methode, um den Wert abzurufen. Der folgende Code überprüft, ob der Wert vorhanden ist, und gibt eine Meldung zurück, wenn dies nicht der Fall ist.If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp", "TestValue", Nothing) Is Nothing Then MsgBox("Value does not exist.") End If
Robuste Programmierung
Die Registrierung enthält Schlüssel auf oberster Ebene oder Stammschlüssel, die zum Speichern von Daten verwendet werden. Beispielsweise wird der HKEY_LOCAL_MACHINE Stammschlüssel zum Speichern von Einstellungen auf Computerebene verwendet, die von allen Benutzern verwendet werden, während HKEY_CURRENT_USER zum Speichern von Daten verwendet wird, die für einen einzelnen Benutzer spezifisch sind.
Die folgenden Bedingungen können zu einer Ausnahme führen:
Der Name des Schlüssels lautet
Nothing
(ArgumentNullException).Der Benutzer verfügt nicht über die Berechtigung zum Lesen aus Registrierungsschlüsseln (SecurityException).
Der Schlüsselname überschreitet den Grenzwert von 255 Zeichen (ArgumentException).
.NET Framework-Sicherheit
Um diesen Prozess auszuführen, erfordert Ihre Assembly eine Berechtigungsstufe, die von der RegistryPermission Klasse gewährt wird. Wenn Sie in einem teilweise vertrauenswürdigen Kontext ausgeführt werden, kann der Prozess eine Ausnahme aufgrund unzureichender Berechtigungen auslösen. Ebenso muss der Benutzer über die richtigen ACLs zum Erstellen oder Bearbeiten von Einstellungen verfügen. Eine lokale Anwendung, die über die Sicherheitsberechtigung für den Codezugriff verfügt, verfügt möglicherweise nicht über die Betriebssystemberechtigung. Weitere Informationen finden Sie unter Code Access Security Basics.
Hinweis
Code Access Security (CAS) ist in allen Versionen von .NET Framework und .NET veraltet. Aktuelle Versionen von .NET berücksichtigen keine CAS-Anmerkungen und erzeugen Fehler, wenn CAS-bezogene APIs verwendet werden. Entwickler sollten alternative Mittel zum Ausführen von Sicherheitsaufgaben suchen.