Gewusst wie: Erstellen eines Schlüssels in der Registrierung (Visual C#)How to: Create a Key In the Registry (Visual C#)

Dieses Beispiel fügt der Registrierung des aktuellen Benutzers unter dem Schlüssel "Names" das Wertepaar "Name" und "Isabella" hinzu.This example adds the value pair, "Name" and "Isabella", to the current user's registry, under the key "Names".

BeispielExample

Microsoft.Win32.RegistryKey key;  
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names");  
key.SetValue("Name", "Isabella");  
key.Close();  

Kompilieren des CodesCompiling the Code

  • Kopieren Sie den Code, und fügen Sie ihn in die Main-Methode einer Konsolenanwendung ein.Copy the code and paste it into the Main method of a console application.

  • Ersetzen Sie den Names-Parameter durch den Namen eines Schlüssels, der sich in der Registrierung direkt unter dem HKEY_CURRENT_USER-Knoten befindet.Replace the Names parameter with the name of a key that exists directly under the HKEY_CURRENT_USER node of the registry.

  • Ersetzen Sie den Name-Parameter durch den Namen eines Werts, der sich direkt unterhalb des Names-Knotens befindet.Replace the Name parameter with the name of a value that exists directly under the Names node.

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 Software des aktuellen Benutzers öffnen und einen Schlüssel mit dem Namen Ihres Unternehmens erstellen.For example, you might want to open the 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.

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

  • Der Name des Schlüssels ist NULL.The name of the key is null.

  • Der Benutzer ist nicht zum Erstellen von Registrierungsschlüsseln berechtigt.The user does not have permissions to create registry keys.

  • Der Name des Schlüssels ist länger als 255 Zeichen.The key name exceeds the 255-character limit.

  • Der Schlüssel ist geschlossen.The key is closed.

  • Der Registrierungsschlüssel ist schreibgeschützt.The registry key is read-only.

.NET Framework-Sicherheit.NET Framework Security

Es ist sicherer, die Daten in den Benutzerordner (Microsoft.Win32.Registry.CurrentUser) anstatt auf den lokalen Computer (Microsoft.Win32.Registry.LocalMachine) zu schreiben.It is more secure to write data to the user folder — Microsoft.Win32.Registry.CurrentUser — rather than to the local computer — Microsoft.Win32.Registry.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 Overload:Microsoft.Win32.RegistryKey.GetValue-To prevent this, use the.Overload:Microsoft.Win32.RegistryKey.GetValue -Methode.method. Die Methode gibt NULL zurück, wenn der Schlüssel noch nicht vorhanden ist.It returns null 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 access control lists (ACL).

Siehe auchSee Also

System.IO
C#-ProgrammierhandbuchC# Programming Guide
Das Dateisystem und die Registrierung (C#-Programmierhandbuch)File System and the Registry (C# Programming Guide)
Read, write and delete from the registry with C# (Ausführen von Aktionen in der Registrierung mit C#: Lesen, Schreiben und Löschen)Read, write and delete from the registry with C#