Spécification des gestionnaires de fichiers pour les extensions de nom de fichier
Il existe plusieurs façons de déterminer l'application qui gère un fichier ayant une extension particulière. Les verbes OpenWithList et OpenWithProgids sont deux moyens de spécifier les gestionnaires de fichiers sous l'entrée de registre correspondant à l'extension de fichier.
Verbe OpenWithList
Lorsque vous cliquez avec le bouton droit de la souris sur un fichier dans l'Explorateur Windows, la commande Ouvrir s'affiche. Si plusieurs produits sont associés à une extension, un sous-menu Ouvrir avec s'affiche.
Vous pouvez enregistrer différentes applications pour ouvrir une extension en définissant la clé OpenWithList pour l'extension de fichier dans HKEY_CLASSES_ROOT. Les applications répertoriées sous cette clé pour une extension de fichier apparaissent sous le titre Programmes recommandés dans la boîte de dialogue Ouvrir avec. L'exemple suivant montre les applications enregistrées pour ouvrir l'extension de fichier .vcproj.
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.14.0"
OpenWithList\
devenv.exe
Remarque
Les clés spécifiant les applications proviennent de la liste située sous HKEY_CLASSES_ROOT\Applications.
En ajoutant une clé OpenWithList, vous déclarez que votre application prend en charge une extension de fichier même si une autre application en prend possession. Il peut s'agir d'une version future de votre application ou d'une autre application.
OpenWithProgIDs
Les identifiants programmatiques (ProgID) sont des versions conviviales des ClassID qui identifient une version d'une application ou d'un objet COM. Chaque objet co-créable doit avoir son propre ProgID. Par exemple, VisualStudio.DTE.7.1 démarre Visual Studio .NET 2003 tandis que VisualStudio.DTE.10.0 démarre Visual Studio. En tant que propriétaire d'un type de projet ou d'un type d'élément de projet, vous devez créer un ProgID spécifique à la version pour votre extension de fichier. Ces ProgID peuvent être redondants dans la mesure où plusieurs ProgID peuvent démarrer la même application. Pour plus d'informations, reportez-vous à la section Enregistrement de verbes pour les extensions de nom de fichier.
Utilisez la convention d'appellation suivante pour les ProgID de fichiers versionnés afin d'éviter les doublons avec les enregistrements d'autres fournisseurs :
Extension de fichier | ProgID versionné |
---|---|
.extension | Nom du produit. extension.versionMajeur.versionMineur |
Vous pouvez enregistrer différentes applications capables d'ouvrir une extension de fichier particulière en ajoutant des ProgID versionnés comme valeurs à la clé HKEY_CLASSES_ROOT\<extension>\OpenWithProgids key. Cette clé de registre contient une liste de ProgIDs alternatifs associés à l'extension de fichier. Les applications associées aux ProgIDs listés apparaissent dans le sous-menu Ouvrir avecNom du produit. Si la même application est spécifiée dans les clés OpenWithList
et OpenWithProgids
, le système d'exploitation fusionne les doublons.
Remarque
La touche OpenWithProgids
n'est prise en charge que sous Windows XP. Étant donné que d'autres systèmes d'exploitation ignorent cette clé, ne l'utilisez pas comme unique enregistrement pour les gestionnaires de fichiers. Utilisez cette clé pour améliorer l'expérience de l'utilisateur dans Windows XP.
Ajoutez les ProgID souhaités en tant que valeurs de type REG_NONE. Le code suivant fournit un exemple d'enregistrement de ProgIDs pour une extension de fichier (.ext).
HKEY_CLASSES_ROOT\
.ext\
(default)="MyProduct.ext.14.0"
OpenWithProgids
progid REG_NONE (zero-length binary value)
otherprogid REG_NONE (zero-length binary value)
Le ProgID spécifié comme valeur par défaut pour l'extension de fichier est le gestionnaire de fichier par défaut. Si vous modifiez le ProgID d'une extension de fichier livrée avec une version antérieure de Visual Studio ou qui peut être reprise par d'autres applications, vous devez enregistrer la clé OpenWithProgids
pour votre extension de fichier et spécifier le nouveau ProgID dans la liste avec les anciens ProgID que vous prenez en charge. Par exemple :
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.14.0"
OpenWithProgids
vcprojfile //old progid
VisualStudio.vcproj.12.0 //old progid
VisualStudio.vcproj.14.0 //new progid
Si l’ancien ProgID a des verbes associés à celui-ci, ces verbes s’affichent également sous Ouvrir avec le nom du produit dans le menu contextuel.