Zugriff auf die Windows-Registry mit .NET

Die Registry ist ein integraler Bestandteil jeder Windows-Installation. Sie enthält eine Fülle von Informationen über die Konfiguration des Betriebssystems sowie über die Hardware und installierte Software. Dieser Artikel erläutert, wie man in .NET mit der Registry arbeiten kann.

Der programmtechnische Zugriff auf die Registry in den Zeiten vor .NET erforderte den Rückgriff auf die Windows-API. Das .NET Framework vereinfacht das Verfahren mit dem Microsoft.Win32-Namespace.

Die Windows-Registry ist in einer hierarchischen Baumstruktur organisiert. Windows enthält zum Bearbeiten der Registry den Registrierungs-Editor (regedt32.exe beziehungsweise regedit.exe). Die Registry besteht aus Schlüsseln, welche alle Daten enthalten. Diese Schlüssel dürfen weder gelöscht noch umbenannt werden. Die folgende Liste bietet einen Überblick über diese Schlüssel:

  • HKEY_CURRENT_USER: Das Wurzelverzeichnis der Konfigurationsinformationen für den aktuell angemeldeten Benutzer. Die Ordner des Benutzers, die Bildschirmeinstellungen sowie die Einstellungen der Systemsteuerung sind in diesem Schlüssel gespeichert, der daher auch Benutzerprofil genannt wird. Er ist ein Unterschlüssel von HKEY_USERS.
  • HKEY_USERS: Dieser Schlüssel ist das Wurzelverzeichnis für alle Benutzerprofile auf dem Computer.
  • HKEY_LOCAL_MACHINE: Dieser Schlüssel enthält Konfigurationsinformationen für den Computer.
  • HKEY_CLASSES_ROOT: Dieser Schlüssel enthält Informationen über die Zuordnung von Dateien zu bestimmten Anwendungen, so dass Windows weiß, welches Programm es zum Öffnen eines bestimmten Dateityps verwenden soll. Er ist ein Unterschlüssel von HKEY_LOCAL_MACHINESoftware.
  • HKEY_CURRENT_CONFIG: Dieser Schlüssel enthält Informationen über die Hardware des Computers.
  • HKEY_PERFORMANCE_DATA: Jede Softwarekomponente legt bei der Installation Schlüssel für ihre Objekte und Zähler an und schreibt bei der Ausführung Zählerdaten in die Registry. Diese Performancedaten werden in diesem Schlüssel gespeichert (nur Win NT).

Innerhalb dieser Schlüssel können Daten auf unterschiedliche Weise gespeichert werden. Es gibt sechs Datentypen zum Speichern von Daten in der Registry. Diese Typen werden in der folgenden Liste näher erklärt:

  • REG_BINARY: Binärdaten werden als Folge von Paaren von Hexadezimalwerten gespeichert, wobei jedes Paar einen Wert von 0 bis 255 annehmen kann. REG_BINARY kann beliebig lang sein.
  • REG_DWORD: Der Datentyp „Double Word“ ist eine 4 Byte lange Zahl (32 Bits), deren Wert 0 bis 4 GByte annehmen kann. Gerätetreiber und Parameter von Diensten verwenden oft diesen Typ.
  • REG_EXPAND_SZ: Der Datentyp „Erweiterbare Zeichenfolge“ (Expandable String) ist in Wirklichkeit eine Variable. Bei Benutzung wird ihr Wert durch den tatsächlichen Wert ersetzt, wenn die Zeichenfolge vom System aufgerufen wird.
  • REG_MULTI_SZ: „Mehrteilige Zeichenfolge“ (Multiple String), bei der die einzelnen Werte durch Leerzeichen, Kommas oder andere Zeichen getrennt sind.
  • REG_SZ: Eine Zeichenfolge (Text) mit festgelegter Länge.
  • REG_FULL_RESOURCE_DESCRIPTOR: Wird in Hardware-Registry-Schlüsseln verwendet.

Mit diesen Grundkenntnissen über die Registry kann man die entsprechenden .NET-Klassen nutzen und mit dem Inhalt der Registry arbeiten.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Zugriff auf die Windows-Registry mit .NET

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *