Alle Informationen zur Dateierweiterungszuordnung werden in der Registrierung gespeichert. Und wenn Sie ein bisschen browsen, ist es nicht besonders schwierig herauszufinden, wie die Dinge funktionieren. Bei maschinenweiten Zuordnungen geschieht alles im Stammverzeichnis von HKEY_CLASSES_ROOT . Die manuelle Bearbeitung dieses Materials gibt Ihnen die ultimative Kontrolle über Ihre Dateierweiterungen (wenn auch mühsam). Erstellen Sie einfach eine Sicherungskopie, falls Sie Probleme haben und zurückkehren möchten.
Jede Dateizuordnung hat einen Unterschlüssel mit dem Namen .xyz, wobei xyz die Erweiterung Ihrer Datei ist. Der (Standard-) Wert für diesen Schlüssel ist auf eine beliebige Zeichenfolge festgelegt. Die meisten Anwendungen, die Dateierweiterungen registrieren, setzen sie auf etwas für Menschen Lesbares. Beispielsweise ist .pdf auf meinem System auf FoxitReader.Document festgelegt . Es gibt viele andere Werte in diesem Schlüssel, aber nichts ist obligatorisch außer dem (Standard-) Wert.
Unabhängig davon, auf welchen (Standard-) Wert dieser festgelegt ist, gibt es auch im Stammverzeichnis von HKEY_CLASSES_ROOT einen entsprechenden gleichnamigen Unterschlüssel. Der (Standard-) Wert dieses Schlüssels ist im Wesentlichen der "Anzeigename" des Dateityps. Dieser Schlüssel kann auch viele Unterschlüssel haben, aber die einzigen, die uns interessieren, sind DefaultIcon und Shell .
Wie Sie wahrscheinlich erraten haben, steuert DefaultIcon das Symbol für diesen Dateityp. Der (Standard-) Wert für diesen Schlüssel sollte auf den Pfad der Symboldatei festgelegt werden. Wenn sich das Symbol in einer EXE-Datei befindet, legen Sie es auf den Pfad der EXE-Datei fest und fügen Sie ein Komma und den Symbolindex am Ende des Pfads ein. Beispielsweise wird das FoxitReader.Document DefaultIcon auf festgelegt
C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE,1
In der Shell richten Sie alle "Aktionen" für diesen Dateityp ein. Erstellen Sie für jede Aktion, die Sie definieren möchten, einen Unterschlüssel mit dem Namen der Aktion, die Sie benennen möchten. Die meisten Typen haben mindestens eine Aktion, die als offen bezeichnet wird . Erstellen Sie in dem Unterschlüssel dieser neuen Aktion einen Unterschlüssel mit dem Namen Command . Der (Standard-) Wert dieser Befehlstaste ist im Grunde die Befehlszeile, die ausgeführt wird, wenn auf diese Aktion geklickt / ausgeführt wird. Der Befehl open für ein FoxitReader.Document lautet beispielsweise
"C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE" "%1"
Das Argument "% 1" wird auf den Pfad der Datei gesetzt, aus der Sie die Aktion ausgeführt haben.
Wenn Sie nur eine Aktion für einen bestimmten Dateityp definiert haben, ist dies meines Erachtens die Standardaktion, die ausgeführt wird, wenn Sie auf die Datei doppelklicken. Wenn es mehrere mögliche Aktionen gibt, können Sie festlegen, welche die Standardaktion sein soll, indem Sie den (Standard-) Wert des Shell- Schlüssels ändern . Setzen Sie es einfach auf den Namen der Aktion, die Sie als Standard festlegen möchten.
Trotzdem ist es nicht sehr effizient, alles von Grund auf neu zu machen. Es ist wahrscheinlich einfacher, die integrierten Tools zu verwenden, um den größten Teil des Weges dorthin zu schaffen, und dann die Dinge manuell zu optimieren, die Sie mit den Tools nicht ausführen können. Ich sollte wahrscheinlich auch erwähnen, dass all diese Informationen auf XP basieren, aber ich bin fast sicher, dass sich nichts für Vista oder Win7 geändert hat.