Gewusst wie: Lesen eines Werts aus einem Registrierungsschlüssel in Visual BasicHow to: Read a Value from a Registry Key in Visual Basic

Die GetValue-Methode des My.Computer.Registry-Objekts kann verwendet werden, um Werte in der Windows-Registrierung zu lesen.The GetValue method of the My.Computer.Registry object can be used to read values in the Windows registry.

Wenn der Schlüssel („Software\MyApp“ im folgenden Beispiel) nicht vorhanden ist, wird eine Ausnahme ausgelöst.If the key, "Software\MyApp" in the following example, does not exist, an exception is thrown. Wenn der ValueName („Name“ im folgenden Beispiel) nicht vorhanden ist, wird Nothing zurückgegeben.If the ValueName, "Name" in the following example, does not exist, Nothing is returned.

Die GetValue-Methode kann auch verwendet werden, um zu bestimmen, ob ein bestimmter Wert in einem bestimmten Registrierungsschlüssel vorhanden ist.The GetValue method can also be used to determine whether a given value exists in a specific registry key.

Wenn Code aus einer Webanwendung die Registrierung liest, wird der aktuelle Benutzer durch die Authentifizierung und den Identitätswechsel bestimmt, die in der Webanwendung implementiert sind.When code reads the registry from a Web application, the current user is determined by the authentication and impersonation that is implemented in the Web application.

Lesen eines Werts aus einem RegistrierungsschlüsselTo read a value from a registry key

  • Verwenden Sie die GetValue-Methode, und geben Sie den Pfad und Namen an, um einen Wert aus dem Registrierungsschlüssel zu lesen.Use the GetValue method, specifying the path and name) to read a value from registry key. Das folgende Beispiel liest den Wert Name aus HKEY_CURRENT_USER\Software\MyApp und zeigt ihn in einem Nachrichtenfeld an.The following example reads the value Name from HKEY_CURRENT_USER\Software\MyApp and displays it in a message box.

    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.This code example is also available as an IntelliSense code snippet. Er befindet sich in der Codeausschnittauswahl unter Windows Betriebssystem > Registrierung.In the code snippet picker, it is located in Windows Operating System > Registry. Weitere Informationen finden Sie unter Codeausschnitte.For more information, see Code Snippets.

Bestimmen, ob ein Wert in einem Registrierungsschlüssel vorhanden istTo determine whether a value exists in a registry key

  • Verwenden Sie die GetValue-Methode, um den Wert abzurufen.Use the GetValue method to retrieve the value. Der folgende Code überprüft, ob der Wert vorhanden ist, und gibt eine Meldung zurück, wenn dies nicht der Fall ist.The following code checks whether the value exists and returns a message if it does not.

    If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp",
    "TestValue", Nothing) Is Nothing Then
      MsgBox("Value does not exist.")
    End If
    

Stabile ProgrammierungRobust Programming

Die Registrierung enthält Schlüssel der obersten Ebene oder Stammschlüssel, die zum Speichern von Daten verwendet werden.The registry holds top-level, or root, keys that are used to store data. Beispielsweise wird der HKEY_LOCAL_MACHINE-Stammschlüssel zum Speichern von Einstellungen auf Computerebene genutzt, die von allen Benutzern verwendet werden, während HKEY_CURRENT_USER zum Speichern von Daten genutzt wird, die spezifisch für einen einzelnen Benutzer sind.For instance, the HKEY_LOCAL_MACHINE root key is used for storing machine-level settings used by all users, while HKEY_CURRENT_USER is used for storing data specific to an individual user.

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:The following conditions may cause an exception:

.NET Framework-Sicherheit.NET Framework Security

Die Assembly benötigt zum Ausführen dieses Prozesses eine von der RegistryPermission-Klasse gewährte Berechtigungsebene.To run this process, your assembly requires a privilege level granted by the RegistryPermission class. Wenn Sie in einem teilweise vertrauenswürdigen Kontext arbeiten, kann der Vorgang möglicherweise aufgrund fehlender Berechtigungen eine Ausnahme auslösen.If you are running in a partial-trust context, the process might throw an exception due to insufficient privileges. Ebenso muss der Benutzer die richtigen Zugriffssteuerungslisten zum Erstellen von oder Schreiben auf Einstellungen verfügen.Similarly, the user must have the correct ACLs for creating or writing to settings. Beispielsweise besitzt eine lokale Anwendung, die die Sicherheitsberechtigung für den Codezugriff besitzt, möglicherweise keine Betriebssystemberechtigung.For example, a local application that has the code access security permission might not have operating system permission. Weitere Informationen finden Sie unter Grundlagen der Codezugriffssicherheit.For more information, see Code Access Security Basics.

Siehe auchSee Also

RegistryProxy
RegistryHive
Lesen aus der und Schreiben in die RegistrierungReading from and Writing to the Registry