Gewusst wie: Bestimmen, ob ein Wert in einem Registrierungsschlüssel vorhanden ist, in Visual Basic
Mit der GetValue-Methode des My.Computer.Registry-Objekts kann ermittelt werden, ob ein Wert in einem bestimmten Registrierungsschlüssel enthalten ist.
Wenn Sie die Registrierung von einer Webanwendung aus lesen, hängt der aktuelle Benutzer von der Authentifizierung und dem Identitätswechsel ab, die in der Webanwendung implementiert wurden.
So ermitteln Sie, ob ein Wert in einem Registrierungsschlüssel vorhanden ist
Verwenden Sie die GetValue-Methode, um den Wert abzurufen. Mit dem folgenden Code wird der Wert überprüft und eine Meldung zurückgegeben, falls der Wert nicht vorhanden 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 folgenden Bedingungen können einen Ausnahmefehler verursachen:
Der Name des Schlüssels lautet Nothing (ArgumentNullException).
Der Benutzer ist nicht zum Erstellen von Registrierungsschlüsseln berechtigt (SecurityException).
Der Name des Schlüssels ist länger als 255 Zeichen (ArgumentException).
Der Schlüssel ist geschlossen (IOException).
Der Registrierungsschlüssel ist schreibgeschützt (UnauthorizedAccessException).
Sicherheit
Um diesen Prozess auszuführen, benötigt die Assembly eine Berechtigungsebene, die von der RegistryPermission-Klasse gewährt werden muss. Bei Ausführung in einer teilweise vertrauenswürdigen Umgebung kann der Vorgang aufgrund fehlender Berechtigungen eine Ausnahme auslösen. Daher muss der Benutzer die richtigen Zugriffssteuerungslisten für das Erstellen von oder das Schreiben in Einstellungen haben. Eine lokale Anwendung, die über die Berechtigung zum Zugriff auf Code verfügt, ist nicht automatisch zum Zugriff auf das Betriebssystem berechtigt. Weitere Informationen finden Sie unter Grundlagen der Codezugriffssicherheit.
Siehe auch
Aufgaben
Problembehandlung: Bearbeiten der Registrierung (Visual Basic)