Registrieren eines Vorschauhandlers

In diesem Thema wird erläutert, wie Sie einen Vorschauhandler registrieren, der einem bestimmten Datentyp zugeordnet ist. Zur Veranschaulichung verwenden Beispiele in diesem Thema einen XYZ-Dateityp. Bei der Registrierung eines Vorschauhandlers handelt es sich um eine standardbasierte Dateizuordnungsregistrierung.

Anweisungen

Schritt 1:

Zunächst wird einer ProgID eine Dateinamenerweiterung zugeordnet. Der folgende Eintrag ordnet den ProgID-Unterschlüssel xyzfile der Dateinamenerweiterung .xyz zu.

HKEY_CLASSES_ROOT
   .xyz
      (Default) = [REG_SZ] xyzfile

Der ProgID-Unterschlüssel xyzfile wird wie hier gezeigt mit den anderen ProgIDs gespeichert:

HKEY_CLASSES_ROOT
   xyzfile

Jeder ProgID-Unterschlüssel des Vorschauhandlers enthält einen Unterschlüssel namens shellex , der einen Unterschlüssel mit dem Namen {8895b1c6-b41f-4c1c-a562-0d564250836f} enthält. Das Vorhandensein dieses Unterschlüssels teilt dem System mit, dass der Handler ein Vorschauhandler ist.

Der Standardwert des {8895b1c6-b41f-4c1c-a562-0d564250836f}-Unterschlüssels ist der Klassenbezeichner (CLSID) Ihres Handlers. Hier sehen Sie ein Beispiel für den ProgID-Unterschlüssel xyzfile , der einen Handler von CLSID {ec3a629a-a47c-4245-bc78-b4b63d0e3154} ordnet.

HKEY_CLASSES_ROOT
   xyzfile
      shellex
         {8895b1c6-b41f-4c1c-a562-0d564250836f}
            (Default) = [REG_SZ] {ec3a629a-a47c-4245-bc78-b4b63d0e3154}

Schritt 2:

Fügen Sie als Nächstes den Unterschlüssel unter CLSID für Ihren Vorschauhandler hinzu. Ein Beispiel wird hier gezeigt. Es folgt eine Erläuterung der einzelnen Einträge.

HKEY_CLASSES_ROOT
   CLSID
      {ec3a629a-a47c-4245-bc78-b4b63d0e3154}
         (Default) = [REG_SZ] Fabricam XYZ Preview Handler
         DisplayName = [REG_SZ] @myhandler.dll,-101
         Icon = [REG_SZ] myhandler.dll,201
         AppID = [REG_SZ] {6d2b5079-2f0b-48dd-ab7f-97cec514d30b}
         InprocServer32
            (Default) = [REG_EXPAND_SZ] %ProgramFiles%\Fabricam\myhandler.dll
            ThreadingModel = [REG_SZ] Apartment
            ProgID = [REG_SZ] xyzfile
            VersionIndependentProgID = [REG_SZ] Version IndependentProgID

Der Standardwert für Ihren Unterschlüssel (hier {ec3a629a-a47c-4245-bc78-b4b63d0e3154}) ist nicht erforderlich oder verwendet. Wenn Sie sie jedoch auf eine nicht lokalisierte Zeichenfolge festlegen, können Sie Registrierungsprobleme debuggen.

Das Minuszeichen (-101) in der .dll Ressource im DisplayName-Eintrag ist aus älteren Gründen vorhanden. Der Symboleintrag hingegen erfordert kein Minuszeichen.

Der AppID-Wert gibt einen Verweis auf die AppID der Anwendung, die der Dateinamenerweiterung zugeordnet ist (gespeichert unter HKEY_CLASSES_ROOT\APPID. Der hier verwendete Wert {6d2b5079-2f0b-48dd-ab7f-97cec514d30b} ist die ID des Prevhost.exe Ersatzhosts. 32-Bit-Vorschauhandler sollten appID {534A1E02-D58F-44f0-B58B-36CBED287C7C} verwenden, wenn sie auf 64-Bit-Betriebssystemen installiert sind.

Die Einträge unter dem InprocServer32-Unterschlüssel enthalten einen Verweis zurück auf den ProgID-Unterschlüssel der Dateinamenerweiterung sowie einen Eintrag für eine VersionIndependentProgID.

Schritt 3:

Schließlich muss der Vorschauhandler der Liste aller Vorschauhandler hinzugefügt werden. Diese Liste wird vom System als Optimierung verwendet, um alle registrierten Vorschauhandler für Anzeigezwecke aufzulisten. Auch hier ist der Standardwert nicht erforderlich, er unterstützt lediglich den Debugprozess.

Hinweis

Wenn die Anwendung unter Windows 7 für alle Benutzer des Computers installiert ist, verwenden Sie HKEY_LOCAL_MACHINE; , wenn nur für einen Benutzer HKEY_CURRENT_USER.

 

HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PreviewHandlers
                  {ec3a629a-a47c-4245-bc78-b4b63d0e3154}
                     (Default) = [REG_SZ] Fabricam XYZ Preview Handler

Vorschauhandler und Shellvorschauhost

Erstellen von Vorschauhandlern

Richtlinien für Vorschauhandler