Freigeben über


Gewusst wie: Erstellen eines Schlüssels in der Registrierung (Visual C#)

Dieses Beispiel fügt der Registrierung des aktuellen Benutzers unter dem Schlüssel "Names" das Wertepaar "Name" und "Isabella" hinzu.

Beispiel

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

Kompilieren des Codes

  • Kopieren Sie den Code, und fügen Sie ihn in die Main-Methode einer Konsolenanwendung ein.

  • Ersetzen Sie den Names-Parameter durch den Namen eines Schlüssels, der sich in der Registrierung direkt unter dem HKEY_CURRENT_USER-Knoten befindet.

  • Ersetzen Sie den Name-Parameter durch den Namen eines Werts, der sich direkt unterhalb des Names-Knotens befindet.

Robuste Programmierung

Untersuchen Sie die Registrierungsstruktur, um eine adäquate Position für den Schlüssel zu ermitteln. Sie können beispielsweise den Schlüssel Software des aktuellen Benutzers öffnen und einen Schlüssel mit dem Namen Ihres Unternehmens erstellen. Anschließend fügen Sie die Registrierungswerte dem Schlüssel für das Unternehmen hinzu.

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:

  • Der Name des Schlüssels ist NULL.

  • Der Benutzer ist nicht zum Erstellen von Registrierungsschlüsseln berechtigt.

  • Der Name des Schlüssels ist länger als 255 Zeichen.

  • Der Schlüssel ist geschlossen.

  • Der Registrierungsschlüssel ist schreibgeschützt.

Sicherheit

Es ist sicherer, die Daten in den Benutzerordner (Microsoft.Win32.Registry.CurrentUser) anstatt auf den lokalen Computer (Microsoft.Win32.Registry.LocalMachine) zu schreiben.

Wenn Sie einen Registrierungswert erstellen, müssen Sie festlegen, was geschehen soll, wenn der Wert bereits vorhanden ist. Möglicherweise wurde der Wert bereits von einem bösartigen Prozess erstellt, der nun darauf zugreifen kann. Wenn Sie dem Registrierungswert Daten hinzufügen, kann der andere Prozess darauf zugreifen. Um dies zu verhindern, verwenden Sie die Overload:Microsoft.Win32.RegistryKey.GetValue-Methode. Die Methode gibt NULL zurück, wenn der Schlüssel noch nicht vorhanden ist.

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.

Siehe auch

Referenz

System.IO

Konzepte

C#-Programmierhandbuch

Weitere Ressourcen

Das Dateisystem und die Registrierung (C#-Programmierhandbuch)