Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die CreateSubKey
Methode des My.Computer.Registry
Objekts kann zum Erstellen eines Registrierungsschlüssels verwendet werden.
Prozedur
So erstellen Sie einen Registrierungsschlüssel
Verwenden Sie die
CreateSubKey
-Methode, um anzugeben, unter welchem Hive der Schlüssel platziert werden soll, sowie den Namen des Schlüssels. Der ParameterSubkey
unterscheidet nicht zwischen Groß- und Kleinschreibung. In diesem Beispiel wird der RegistrierungsschlüsselMyTestKey
unter HKEY_CURRENT_USER erstellt.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
So erstellen Sie einen Registrierungsschlüssel und legen einen Wert darin fest
Verwenden Sie die
CreateSubkey
-Methode, um anzugeben, unter welchem Hive der Schlüssel platziert werden soll, sowie den Namen des Schlüssels. In diesem Beispiel wird der RegistrierungsschlüsselMyTestKey
unter HKEY_CURRENT_USER erstellt.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Legen Sie den Wert mit der
SetValue
Methode fest. Im folgenden Beispiel wird der Zeichenfolgenwert festgelegt. "MyTestKeyValue" zu "Dies ist ein Testwert".My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", "MyTestKeyValue", "This is a test value.")
Beispiel
In diesem Beispiel wird der Registrierungsschlüssel MyTestKey
unter HKEY_CURRENT_USER erstellt und anschließend der Stringwert MyTestKeyValue
auf This is a test value
festgelegt.
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.")
Robuste Programmierung
Überprüfen Sie die Registrierungsstruktur, um einen geeigneten Speicherort für Ihren Schlüssel zu finden. Sie können z. B. den HKEY_CURRENT_USER\Software Schlüssel des aktuellen Benutzers öffnen und einen Schlüssel mit dem Namen Ihres Unternehmens erstellen. Fügen Sie dann die Registrierungswerte zum Schlüssel Ihres Unternehmens hinzu.
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.
Es ist sicherer, Daten in den Benutzerordner zu schreiben (CurrentUser) und nicht auf den lokalen Computer (LocalMachine).
Wenn Sie einen Registrierungswert erstellen, müssen Sie entscheiden, was zu tun ist, wenn dieser Wert bereits vorhanden ist. Ein anderer Prozess, vielleicht ein böswilliger Prozess, hat möglicherweise bereits den Wert erstellt und hat Zugriff darauf. Wenn Sie Daten in den Registrierungswert einfügen, sind die Daten für den anderen Prozess verfügbar. Um dies zu verhindern, verwenden Sie die GetValue Methode. Es wird zurückgegeben Nothing
, wenn der Schlüssel noch nicht vorhanden ist.
Es ist nicht sicher, geheime Schlüssel wie Kennwörter in der Registrierung als Nur-Text zu speichern, auch wenn der Registrierungsschlüssel durch ACLs (Zugriffssteuerungslisten) geschützt ist.
Die folgenden Bedingungen können zu einer Ausnahme führen:
Der Name des Schlüssels lautet
Nothing
(ArgumentNullException).Der Benutzer verfügt nicht über berechtigungen zum Erstellen von Registrierungsschlüsseln (SecurityException).
Der Schlüsselname überschreitet den Grenzwert von 255 Zeichen (ArgumentException).
Der Schlüssel ist geschlossen (IOException).
Der Registrierungsschlüssel ist schreibgeschützt (UnauthorizedAccessException).
.NET Framework-Sicherheit
Um diesen Prozess auszuführen, erfordert Ihre Assembly eine Berechtigungsstufe, die von der RegistryPermission Klasse gewährt wird. Wenn Sie in einem teilweise vertrauenswürdigen Kontext ausgeführt werden, kann der Prozess eine Ausnahme aufgrund unzureichender Berechtigungen auslösen. Ebenso muss der Benutzer über die richtigen ACLs zum Erstellen oder Bearbeiten von Einstellungen verfügen. Eine lokale Anwendung, die über die Sicherheitsberechtigung für den Codezugriff verfügt, verfügt möglicherweise nicht über die Betriebssystemberechtigung. Weitere Informationen finden Sie unter Code Access Security Basics.
Hinweis
Code Access Security (CAS) ist in allen Versionen von .NET Framework und .NET veraltet. Aktuelle Versionen von .NET berücksichtigen keine CAS-Anmerkungen und erzeugen Fehler, wenn CAS-bezogene APIs verwendet werden. Entwickler sollten alternative Mittel zum Ausführen von Sicherheitsaufgaben suchen.