Wenn man auf eine Datei doppelklickt, öffnet Windows diese Datei mit dem entsprechendem Programm. Damit Windows aber auch weiß, was es zu tun hat, benutzt es die Windows-Registrierungsdatenbank, in der alle dem Betriebssystem bekannten Dateizuordnungen gespeichert sind.

Die Dateizuordnungen sind im Schlüssel HKEY_CLASSES_ROOT zu finden. Dateizuordnungen bestehen aus zwei Teilen - einmal der Dateiendung selber, und dann einmal den zugehörigen Dateityp. Diese Zweiteilung hat den Sinn, dass man mehrere Dateiendungen mit einem Typ verknüpfen kann; so kann man beispielsweise die Endungen .jpg, .jpeg und .jpe alle dem Dateityp jpegfile zuweisen und alle dasselbe Symbol benutzen lassen.

Der erste Teil besteht, wie bereits erwähnt, aus der Dateiendung. Diese wird in einem Schlüssel registriert, der so heißt wie die Endung. In folgendem Text nehmen wir als Beispiel ein einfaches Bitmap mit der Dateiendung .bmp. Dieses hat in der Registrierung einen Eintrag unter HKEY_CLASSES_ROOT\.bmp. Der vorhandene Eintrag (Standard) hat als Wert den der Dateiendung zugehörigen Dateityp, der Name des Dateityps ist dabei beliebig. Standardmäßig und in unserem Beispiel lautet der Dateityp Paint.Picture.

Der Dateityp ist ebenfalls unter HKEY_CLASSES_ROOT zu finden, in unserem Beispiel wäre das HKEY_CLASSES_ROOT\Paint.Picture. Der vorhandene Eintrag (Standard) enthält hier den Namen des Dateityps, wie er im Windows-Explorer erscheint. Daneben sind hier aber auch andere Optionen möglich, indem man neue Schlüssel erstellt:

Windows-Registrierung
NameTypStandardwertBeschreibung
NeverShowExtREG_SZ(leer)Existiert dieser Eintrag, wird die Dateiendung nicht angezeigt, selbst dann, wenn "Erweiterungen bei bekannten Dateitypen ausblenden" deaktiviert ist.
AlwaysShowExtREG_SZ(leer)Existiert dieser Eintrag, wird die Dateiendung immer angezeigt, selbst dann, wenn "Erweiterungen bei bekannten Dateitypen ausblenden" aktiviert ist.
IsShortcutREG_SZ(leer)Existiert dieser Eintrag, erscheint das Shortcut-Symbol über dem normalen Symbol einer Datei dieses Typs.
EditFlagsREG_BINARY00 00 00 00Steuert das Verhalten dieses Dateityps in den Ordneroptionen und im Internet Explorer (siehe unten)

EditFlags erlaubt mehrere Optionen durch das Setzen von Binärwerten. Diese steuern nicht nur, wie sich dieser Dateityp in den Ordneroptionen im Windows-Explorer verhält, sondern auch das Verhalten des Internet Explorers beim Herunterladen einer Datei dieses Dateityps. Wenn mehrere der angegebenen Einstellungen gelten sollen, werden die hexadezimalen Zahlen addiert, was zum Beispiel mit dem Windows-Taschenrechner möglich ist.

Für das erste Byte sind folgende Einstellungen möglich.

Binärwerte
BinärHexadezimalBeschreibung
0000000101Dieser Dateityp erscheint nicht in der Liste der Dateitypen in den Ordneroptionen.
0000001002Dieser Dateityp erscheint in der Liste der Dateitypen, obwohl keine Dateiendung ihm zugehörig ist (in diesem Fall erscheint der Dateityp am Anfang mit der Endung (KEINE))
0000010004Dieser Dateityp hat eine Dateiendung (wird nur in seltenen Fällen benötigt)
0000100008Die Einstellungen für diesen Dateityp können nicht bearbeitet werden.
0001000010Dieser Dateityp kann nicht aus der Liste der Dateitypen gelöscht werden.
0010000020Es können keine neuen Aktionen für diesen Dateityp hinzugefügt werden.
0100000040Die Aktionen für diesen Dateityp können nicht bearbeitet werden.
1000000080Die Aktionen für diesen Dateityp können nicht entfernt werden.

Für das zweite Byte sind folgende Einstellungen möglich:

Binärwerte
BinärHexadezimalBeschreibung
0000000101Der Name des Dateityps kann nicht geändert werden.
0000001002Das Symbol für diesen Dateityp kann nicht geändert werden.
0000010004Es kann keine neue Standardaktion für diesen Dateityp ausgewählt werden.
0000100008Der Name eines Vorgangs kann nicht geändert werden.
0001000010Der mit einem Vorgang assoziierte Befehl kann nicht geändert werden.
0010000020Die Option "DDE verwenden" ist deaktiviert.
0100000040reserviert
1000000080Der MIME-Typ und die Standarderweiterung können nicht geändert werden.

Für das dritte Byte sind folgende Einstellungen möglich:

Binärwerte
BinärHexadezimalBeschreibung
0000000101Wird eine Datei dieses Typs mit dem Internet Explorer aufgerufen, wird nicht gefragt, ob die Datei heruntergeladen werden soll - sie wird automatisch geöffnet.
0000001002Es wird immer gefragt, ob diese Datei geöffnet werden soll.
0000010004Die Dateiendung von Dateien diesen Typs wird immer angezeigt, selbst dann, wenn "Erweiterungen bei bekannten Dateitypen ausblenden" aktiviert ist.
0000100008reserviert
0001000010Dateien diesen Typs erscheinen nicht in den zuletzt geöffneten Dokumenten.
0010000020reserviert
0100000040reserviert
1000000080reserviert

Das vierte Byte ist komplett reserviert.

Weitere Optionen sind in Unterschlüsseln enthalten. Der Schlüssel DefaultIcon enthält unter dem Wert (Standard) das Symbol für diesen Dateityp. Es kann sich dabei entweder um eine eigenständige .ICO-Datei, oder um ein in einer .EXE- oder .DLL-Datei enthaltenes Symbol handeln. Diese Icons lassen sich über die Windows-Benutzeroberfläche finden, indem man die Eigenschaften einer beliebigen Verknüpfung aufruft und dann „Anderes Symbol“ anwählt. Allerdings sollte man beachten, dass Windows von Null anfängt zu zählen, will man also z. B. das zweite Symbol von EXPLORER.EXE benutzen, lautet der Befehl EXPLORER.EXE,1.

Im Unterschlüssel shell wird festgelegt, was Windows mit dieser Datei zu tun hat. Unter shell kann man mehrere Unterschlüssel erstellen, die dann als Befehle im Kontextmenü erscheinen, z. B. open für das Öffnen einer Datei. Unter solch einem Schlüssel muss dann noch ein weiterer Schlüssel command angelegt werden, der gesamte Pfad wäre also HKEY_CLASSES_ROOT\Paint.Picture\shell\open\command. Der dortige Wert (Standard) enthält dann den Befehl, der ausgeführt werden soll, wenn "Öffnen" im Kontextmenü ausgewählt wird. In unserem Beispiel wäre das mspaint.exe "%1", wobei %1 für die zu öffnende Datei steht.

Neben diesen Zuordnungen kennt Windows noch einige Sonderfälle:

  • HKEY_CLASSES_ROOT\* enthält Einstellungen für sämtliche Dateien und Ordner.
  • HKEY_CLASSES_ROOT\Drive enthält Einstellungen für alle Laufwerke.
  • HKEY_CLASSES_ROOT\Folder enthält Einstellungen für alle Ordner.
  • HKEY_CLASSES_ROOT\Unknown enthält Einstellungen für Dateien mit einer dem System unbekannten Endung.
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.