Gewusst wie: Festlegen von Werten in Registrierungsschlüsseln in Visual Basic
Aktualisiert: November 2007
Mit der SetValue-Methode des My.Computer.Registry-Objekts können Werte in der Windows-Registrierung geschrieben werden. Die Registrierung enthält Schlüssel der obersten Ebene (auch: Stammschlüssel), die zum Speichern von Daten verwendet werden. Der Stammschlüssel HKEY_LOCAL_MACHINE dient z. B. zum Speichern von Einstellungen auf Computerebene, die für alle Benutzer gelten, während unter HKEY_CURRENT_USER Daten gespeichert werden, die für einen einzelnen Benutzer gelten.
Der Wert, einschließlich des vollständigen Schlüsselpfads, wird erstellt, wenn er nicht vorhanden ist.
Prozedur
So schreiben Sie einen Wert in einen Registrierungsschlüssel
Verwenden Sie die SetValue-Methode, und geben Sie dabei den Schlüssel und den Wert an. In diesem Beispiel wird der Wert Name im Schlüssel HKEY_CURRENT_USER\Software\TestApp auf "Author's Name" festgelegt.
My.Computer.Registry.SetValue _ ("HKEY_CURRENT_USER\Software\TestApp", "Name", "Author's Name")
Dieses Codebeispiel ist auch als IntelliSense-Codeausschnitt verfügbar. Sie finden das Element in der Codeausschnittauswahl unter Windows-Betriebssystem > Registrierung. Weitere Informationen finden Sie unter Gewusst wie: Einfügen von Ausschnitten in den Code (Visual Basic).
Robuste Programmierung
Benutzereinstellungsdaten sollten in die Microsoft.Win32.Registry.CurrentUser-Struktur geschrieben werden.
Es ist nicht sicher, geheime Daten wie Kennwörter in der Registrierung als Klartext zu speichern. Dies gilt auch, wenn die Registrierung durch Zugriffssteuerungslisten (ACLs) geschützt ist.
Die folgenden Bedingungen können einen Ausnahmefehler verursachen:
Der Name des Schlüssels lautet Nothing (ArgumentNullException).
Der Name des Schlüssels ist länger als 255 Zeichen (ArgumentException).
Der angegebene Hive ist nicht gültig (ArgumentException).
Der Schlüssel ist geschlossen (IOException).
Der Pfad ist nicht gültig (IOException).
Der Registrierungsschlüssel ist schreibgeschützt (UnauthorizedAccessException).
Sicherheit
Um diesen Prozess auszuführen, benötigt die Assembly eine Berechtigungsebene, die von der RegistryPermission-Klasse gewährt wird. Bei Ausführung in einer teilweise vertrauenswürdigen Umgebung kann der Vorgang aufgrund fehlender Berechtigungen eine Ausnahme auslösen. Dementsprechend muss der Benutzer die richtigen Zugriffssteuerungslisten haben, um Einstellungen erstellen oder bearbeiten zu können. Eine lokale Anwendung, die über die Berechtigung zum Zugriff auf Code verfügt, ist nicht automatisch zum Zugriff auf das Betriebssystem berechtigt. Weitere Informationen finden Sie unter Grundlagen der Codezugriffssicherheit.
Siehe auch
Aufgaben
Gewusst wie: Lesen eines Werts aus einem Registrierungsschlüssel in Visual Basic
Exemplarische Vorgehensweise: Erstellen eines Registrierungsschlüssels und Ändern seiner Werte
Problembehandlung: Bearbeiten der Registrierung
Konzepte
Allgemeine Registrierungsaufgaben