Delen via


Een preview-handler registreren

In dit onderwerp wordt uitgelegd hoe u een preview-handler registreert die is gekoppeld aan een bepaald gegevenstype. Ter illustratie gebruiken voorbeelden in dit onderwerp een .xyz-bestandstype. Registratie van een preview-handler is een standaard registratie op basis van een bestandskoppeling.

Aanwijzingen

Stap 1:

Eerst is een bestandsnaamextensie gekoppeld aan een ProgID. De volgende vermelding koppelt de xyzfile ProgID-subsleutel aan de bestandsextensie .xyz.

HKEY_CLASSES_ROOT
   .xyz
      (Default) = [REG_SZ] xyzfile

De xyzfile ProgID-subsleutel wordt opgeslagen met de andere ProgID's, zoals hier wordt weergegeven:

HKEY_CLASSES_ROOT
   xyzfile

Elke previewhandler ProgID-subsleutel bevat een subsleutel genaamd shellex, die een subsleutel bevat genaamd altijd{8895b1c6-b41f-4c1c-a562-0d564250836f}. De aanwezigheid van die subsleutel vertelt het systeem dat de handler een preview-handler is.

De standaardwaarde van de {8895b1c6-b41f-4c1c-a562-0d564250836f} subsleutel is de klasse-id (CLSID) van uw handler. Hier ziet u een voorbeeld van de xyzfile ProgID-subsleutel, waarbij een handler van CLSID {ec3a629a-a47c-4245-bc78-b4b63d0e3154} wordt gekoppeld.

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

Stap 2:

Voeg vervolgens de subsleutel toe onder CLSID- voor uw preview-handler. Hier ziet u een voorbeeld. Een uitleg van afzonderlijke vermeldingen volgt.

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

De standaardwaarde voor uw subsleutel (hier {ec3a629a-a47c-4245-bc78-b4b63d0e3154}) is niet vereist of gebruikt. Als u deze echter instelt op een niet-gelokaliseerde tekenreeks, kunt u problemen met registraties opsporen.

Het minteken (-101) in de .dll-resource in de DisplayName-vermelding bestaat om verouderde redenen. Aan de andere kant is voor het pictogram geen minteken vereist.

De AppID-waarde geeft een verwijzing naar de AppID van de toepassing die is gekoppeld aan de bestandsnaamextensie (opgeslagen onder HKEY_CLASSES_ROOT\APPID. De waarde die hier wordt gebruikt({6d2b5079-2f0b-48dd-ab7f-97cec514d30b}, is de id van de Prevhost.exe surrogaathost. 32-bits preview-handlers moeten gebruikmaken van AppID {534A1E02-D58F-44f0-B58B-36CBED287C7C} wanneer ze zijn geïnstalleerd op 64-bits besturingssystemen.

De items onder de InprocServer32 subsleutel bevatten een verwijzing terug naar de ProgID-subsleutel van de bestandsextensie, evenals een item voor een VersionIndependentProgID.

Stap 3:

Ten slotte moet de preview-handler worden toegevoegd aan de lijst met alle preview-handlers. Deze lijst wordt door het systeem gebruikt als optimalisatie om alle geregistreerde preview-handlers op te sommen voor weergavedoeleinden. Nogmaals, de standaardwaarde is niet vereist, het helpt gewoon bij het foutopsporingsproces.

Notitie

Als de toepassing in Windows 7 is geïnstalleerd voor alle gebruikers van de computer, gebruikt u HKEY_LOCAL_MACHINE; als u slechts één gebruiker gebruikt, gebruikt u 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

Preview-handlers en Shell Preview-host

Preview-handlers bouwen

Richtlijnen voor Preview-handler