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
Rubriques connexes