Sdílet prostřednictvím


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

ClassesRoot

Definiert die Dokumenttypen und die mit diesen Typen verknüpften Eigenschaften.

CurrentConfig

Enthält benutzerunabhängige Informationen über die Hardwarekonfiguration.

CurrentUser

Enthält Informationen über die aktuellen Benutzereinstellungen, z. B. Umgebungsvariablen.

DynData

Enthält dynamische Registrierungsdaten, z. B. Daten, die von virtuellen Gerätetreibern verwendet werden.

LocalMachine

Enthält fünf Unterschlüssel (Hardware, SAM, Security, Software und System), die die Konfigurationsdaten für den lokalen Computer enthalten.

PerformanceData

Enthält Leistungsdaten für Softwarekomponenten.

Users

Enthält Informationen über die Standardbenutzereinstellungen.

8bf3xkta.alert_security(de-de,VS.90).gifSicherheitshinweis:

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

Referenz

SystemException

ApplicationException

My.Computer.Registry-Objekt