Partager via


Comment inscrire un gestionnaire en préversion

Cette rubrique explique comment inscrire un gestionnaire d’aperçu associé à un type de données donné. À des fins d’illustration, les exemples de cette rubrique utilisent un type de fichier .xyz. L’inscription d’un gestionnaire d’aperçu est une inscription basée sur l’association de fichiers standard.

Instructions

Étape 1 :

Tout d’abord, une extension de nom de fichier est associée à un ProgID. L’entrée suivante associe la sous-clé xyzfile ProgID à l’extension de nom de fichier .xyz.

HKEY_CLASSES_ROOT
   .xyz
      (Default) = [REG_SZ] xyzfile

La sous-clé xyzfile ProgID est stockée avec les autres ProgID, comme illustré ici :

HKEY_CLASSES_ROOT
   xyzfile

Chaque sous-clé ProgID du gestionnaire d’aperçu contient une sous-clé nommée shellex qui contient une sous-clé toujours nommée {8895b1c6-b41f-4c1c-a562-0d564250836f}. La présence de cette sous-clé indique au système que le gestionnaire est un gestionnaire d’aperçu.

La valeur par défaut de la sous-clé {8895b1c6-b41f-4c1c-a562-0d564250836f} est l’identificateur de classe (CLSID) de votre gestionnaire. Un exemple de la sous-clé xyzfile ProgID est présenté ici, associant un gestionnaire de CLSID {ec3a629a-a47c-4245-bc78-b4b63d0e3154}.

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

Étape 2 :

Ensuite, ajoutez la sous-clé sous CLSID pour votre gestionnaire d’aperçu. Un exemple est présenté ici. Voici une explication des entrées individuelles.

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

La valeur par défaut de votre sous-clé (ici, {ec3a629a-a47c-4245-bc78-b4b63d0e3154}) n’est ni obligatoire ni utilisée. Toutefois, sa définition sur une chaîne non localisée peut vous aider à déboguer les problèmes d’inscription.

Le signe moins (-101) dans la ressource .dll dans l’entrée DisplayName existe pour des raisons héritées. En revanche, l’entrée Icône ne nécessite pas de signe moins.

La valeur AppID donne une référence à l’AppID de l’application associée à l’extension de nom de fichier (stockée sous HKEY_CLASSES_ROOT\APPID. La valeur utilisée ici , {6d2b5079-2f0b-48dd-ab7f-97cec514d30b}, est l’ID de l’hôte de substitution Prevhost.exe. Les gestionnaires de préversion 32 bits doivent utiliser AppID {534A1E02-D58F-44f0-B58B-36CBED287C7C} lorsqu’ils sont installés sur des systèmes d’exploitation 64 bits.

Les entrées sous la sous-clé InprocServer32 incluent une référence à la sous-clé ProgID de l’extension de nom de fichier, ainsi qu’une entrée pour une VersionIndependentProgID.

Étape 3 :

Enfin, le gestionnaire d’aperçu doit être ajouté à la liste de tous les gestionnaires d’aperçu. Cette liste est utilisée comme optimisation par le système pour énumérer tous les gestionnaires d’aperçu inscrits à des fins d’affichage. Là encore, la valeur par défaut n’est pas obligatoire, elle facilite simplement le processus de débogage.

Notes

Dans Windows 7, si l’application est installée pour tous les utilisateurs de l’ordinateur, utilisez HKEY_LOCAL_MACHINE ; si pour un seul utilisateur, utilisez 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

Gestionnaires d’aperçu et hôte de préversion de l’interpréteur de commandes

Génération de gestionnaires en préversion

Instructions relatives aux gestionnaires en préversion