Gewusst wie: Erstellen von Registrierungsschlüsseln und Festlegen von deren Werten in Visual BasicHow to: Create a Registry Key and Set Its Value in Visual Basic

Die CreateSubKey-Methode des My.Computer.Registry-Objekts kann verwendet werden, um einen Registrierungsschlüssel zu erstellen.The CreateSubKey method of the My.Computer.Registry object can be used to create a registry key.

ProzedurProcedure

Erstellen eines RegistrierungsschlüsselsTo create a registry key

  • Verwenden Sie die CreateSubKey-Methode, geben sie dabei an, unter welcher Struktur der Schlüssel platziert werden soll sowie den Namen des Schlüssels.Use the CreateSubKey method, specifying which hive to place the key under as well as the name of the key. Der Parameter Subkey unterscheidet nicht zwischen Groß- und Kleinschreibung.The parameter Subkey is not case-sensitive. Dieses Beispiel erstellt den Registrierungsschlüssel MyTestKey unter HKEY_CURRENT_USER.This example creates the registry key MyTestKey under HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    

So erstellen Sie einen Registrierungsschlüssel und legen einen Wert darin festTo create a registry key and set a value in it

  1. Verwenden Sie die CreateSubkey-Methode, geben sie dabei an, unter welcher Struktur der Schlüssel platziert werden soll sowie den Namen des Schlüssels.Use the CreateSubkey method, specifying which hive to place the key under as well as the name of the key. Dieses Beispiel erstellt den Registrierungsschlüssel MyTestKey unter HKEY_CURRENT_USER.This example creates the registry key MyTestKey under HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    
  2. Legen Sie den Wert mit der SetValue-Methode fest.Set the value with the SetValue method. Im folgenden Beispiel wird der Zeichenfolgenwert festgelegt.This example sets the string value. „MyTestKeyValue“ zu „Dies ist ein Testwert“."MyTestKeyValue" to "This is a test value".

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
      "MyTestKeyValue", "This is a test value.")
    

BeispielExample

Dieses Beispiel erstellt den Registrierungsschlüssel MyTestKey unter HKEY_CURRENT_USER und legt den Zeichenfolgenwert MyTestKeyValue auf This is a test value fest.This example creates the registry key MyTestKey under HKEY_CURRENT_USER and then sets the string value MyTestKeyValue to This is a test value.

My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
' Change MyTestKeyValue to This is a test value. 
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
  "MyTestKeyValue", "This is a test value.")

Stabile ProgrammierungRobust Programming

Untersuchen Sie die Registrierungsstruktur, um eine adäquate Position für den Schlüssel zu ermitteln.Examine the registry structure to find a suitable location for your key. Sie können beispielsweise den Schlüssel HKEY_CURRENT_USER\Software des aktuellen Benutzers öffnen und einen Schlüssel mit dem Namen Ihres Unternehmens erstellen.For example, you may want to open the HKEY_CURRENT_USER\Software key of the current user, and create a key with your company's name. Anschließend fügen Sie die Registrierungswerte dem Schlüssel für das Unternehmen hinzu.Then add the registry values to your company's key.

Wenn Sie die Registrierung von einer Webanwendung lesen, hängt der aktuelle Benutzer von der Authentifizierung und dem Identitätswechsel ab, die in der Webanwendung implementiert sind.When reading the registry from a Web application, the current user depends on the authentication and impersonation implemented in the Web application.

Es ist sicherer, die Daten in den Benutzerordner (CurrentUser) anstatt auf den lokalen Computer (LocalMachine) zu schreiben.It is more secure to write data to the user folder (CurrentUser) rather than to the local computer (LocalMachine).

Wenn Sie einen Registrierungswert erstellen, müssen Sie festlegen, was geschehen soll, wenn der Wert bereits vorhanden ist.When you create a registry value, you need to decide what to do if that value already exists. Möglicherweise wurde der Wert bereits von einem bösartigen Prozess erstellt, der nun darauf zugreifen kann.Another process, perhaps a malicious one, may have already created the value and have access to it. Wenn Sie dem Registrierungswert Daten hinzufügen, kann der andere Prozess darauf zugreifen.When you put data in the registry value, the data is available to the other process. Um dies zu verhindern, verwenden Sie die GetValue-Methode.To prevent this, use the GetValue method. Die Methode gibt Nothing zurück, wenn der Schlüssel noch nicht vorhanden ist.It returns Nothing if the key does not already exist.

Es ist nicht sicher, geheime Daten wie Kennwörter in der Registrierung als Klartext zu speichern. Dies gilt auch, wenn der Registrierungsschlüssel durch Zugriffssteuerungslisten (ACLs) geschützt ist.It is not secure to store secrets, such as passwords, in the registry as plain text, even if the registry key is protected by ACLs (Access Control Lists).

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
CurrentUser
CreateSubKey
Lesen aus der und Schreiben in die RegistrierungReading from and Writing to the Registry
Grundlagen der CodezugriffssicherheitCode Access Security Basics