Lesen von der und Schreiben in die Registrierung mithilfe des Microsoft.Win32-Namespaces
Aktualisiert: November 2007
Obwohl My.Computer.Registry die Basisanforderungen bei der Programmierung für die Registrierung erfüllen müsste, können Sie auch die Registry-Klasse und die RegistryKey-Klasse im Microsoft.Win32-Namespace von .NET Framework verwenden.
Schlüssel in der Registry-Klasse
Die Registry-Klasse stellt die Basisregistrierungsschlüssel bereit, mit denen auf Unterschlüssel und deren Werte zugegriffen werden kann. Die Basisschlüssel sind schreibgeschützt. In der folgenden Tabelle werden die sieben Schlüssel aufgelistet und beschrieben, die von der Registry-Klasse offen gelegt werden.
Schlüssel |
Beschreibungen |
---|---|
Definiert die Dokumenttypen und die mit diesen Typen verknüpften Eigenschaften. |
|
Enthält benutzerunabhängige Informationen über die Hardwarekonfiguration. |
|
Enthält Informationen über die aktuellen Benutzereinstellungen, z. B. Umgebungsvariablen. |
|
Enthält dynamische Registrierungsdaten, z. B. Daten, die von virtuellen Gerätetreibern verwendet werden. |
|
Enthält fünf Unterschlüssel (Hardware, SAM, Security, Software und System), die die Konfigurationsdaten für den lokalen Computer enthalten. |
|
Enthält Leistungsdaten für Softwarekomponenten. |
|
Enthält Informationen über die Standardbenutzereinstellungen. |
Sicherheitshinweis: |
---|
Es ist sicherer, die Daten in den aktuellen Benutzer (CurrentUser) anstatt in den lokalen Computer (LocalMachine) zu schreiben. Das so genannte "Squatting" tritt ein, wenn der Schlüssel, den Sie erstellen, zuvor bereits von einem anderen, möglicherweise zerstörerischen Prozess erstellt wurde. Sie können dies vermeiden, indem Sie eine Methode wie GetValue verwenden, die Nothing zurückgibt, wenn der Schlüssel noch nicht vorhanden ist. |
Lesen eines Werts aus der Registrierung
Der folgende Code zeigt, wie eine Zeichenfolge aus HKEY_CURRENT_USER gelesen wird.
Dim regVersion As Microsoft.Win32.RegistryKey
Dim keyValue As String
keyValue = "Software\\Microsoft\\TestApp\\1.0"
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If (Not regVersion Is Nothing) Then
intVersion = regVersion.GetValue("Version", 0)
regVersion.Close()
End If
Der folgende Code liest eine Zeichenfolge, erhöht sie um einen Schritt, und schreibt sie dann in HKEY_CURRENT_USER.
Dim regVersion As Microsoft.Win32.RegistryKey
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey( _
"SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
' Key doesn't exist; create it.
regVersion = Microsoft.Win32.Registry.CurrentUser.CreateSubKey( _
"SOFTWARE\\Microsoft\\TestApp\\1.0")
End If
Dim intVersion As Integer = 0
If (Not regVersion Is Nothing) Then
intVersion = regVersion.GetValue("Version", 0)
intVersion = intVersion + 1
regVersion.SetValue("Version", intVersion)
regVersion.Close()
End If
Siehe auch
Aufgaben
Problembehandlung: Bearbeiten der Registrierung
Konzepte
Übersicht über die strukturierte Ausnahmebehandlung für Visual Basic
Allgemeine Registrierungsaufgaben
Sicherheit und die Registrierung
Lesen aus der und Schreiben in die Registrierung mit My