Identificateurs programmatiques

L’interpréteur de commandes utilise une sous-clé de Registre d’identificateur par programme (ProgID) pour associer un type de fichier à une application et pour contrôler le comportement de l’association. Les entrées ProgID utilisées pour les associations de fichiers se trouvent sous HKEY_CLASSES_ROOT dans le Registre.

Cette rubrique est organisée comme suit :

Pour plus d’informations, consultez Comment inscrire un type de fichier pour une nouvelle application

Éléments d’identificateur programmatiques utilisés par les associations de fichiers

Le format approprié d’un nom de clé ProgID est [Fournisseur ou Application]. [Composant]. [Version], séparés par des points et sans espace, comme dans Word. Document.6. La partie Version est facultative, mais fortement recommandée. Pour plus d’informations, consultez Utilisation d’identificateurs programmatiques versionnés.

Une sous-clé ProgID doit inclure les éléments suivants. Notez que certaines données de chaîne dans cette clé nécessitent une mise en forme spécifique.

Élément Description
(Par défaut) Définissez l’entrée par défaut de la sous-clé ProgID sur un nom convivial pour ce ProgID, adapté à l’affichage pour l’utilisateur. L’utilisation de cette entrée pour contenir le nom convivial est déconseillée par l’entrée FriendlyTypeName sur les systèmes exécutant Windows 2000 ou version ultérieure. Toutefois, vous devez définir cette valeur pour la compatibilité descendante.
AllowSilentDefaultTakeOver (introduit dans Windows 8) Définissez cette entrée facultative pour signaler que Windows doit ignorer ce ProgID lors de la détermination d’un gestionnaire par défaut pour un type de fichier public. Que cette valeur soit définie ou non, le ProgID continue d’apparaître dans le menu contextuel et la boîte de dialogue OuvrirWith. Il s’agit d’une valeur REG_NONE.
AppUserModelID (introduit dans Windows 7) Définissez cette entrée facultative sur l’ID de modèle utilisateur d’application explicite (AppUserModelID) de l’application si l’application utilise un AppUserModelID explicite et utilise les listes de raccourcis récentes ou fréquentes générées automatiquement par le système ou fournit une liste de raccourcis personnalisée. Si une application utilise un AppUserModelID explicite et ne définit pas cette valeur, les éléments n’apparaissent pas dans les listes de raccourcis de cette application. Il s’agit d’une chaîne REG_SZ. Pour plus d’informations, consultez ID de modèle utilisateur d’application (AppUserModelIDs).
EditFlags Définissez cette entrée facultative à l’aide d’indicateurs de l’énumération FILETYPEATTRIBUTEFLAGS . L’entrée EditFlags contrôle certains aspects de la gestion par l’interpréteur de commandes des types de fichiers liés à ce ProgID. Vous pouvez également utiliser l’entrée EditFlags pour limiter la quantité de modifications que l’utilisateur peut modifier certains aspects de ces types de fichiers à l’aide de la feuille de propriétés d’un fichier. Les valeurs FILETYPEATTRIBUTEFLAGS utilisées pour EditFlags sont des valeurs binaires conçues pour que vous puissiez combiner plusieurs attributs en une seule valeur dans une opération OR au niveau du bit. Il s’agit d’une valeur REG_DWORD ou REG_BINARY.
FriendlyTypeName Définissez cette entrée sur un nom convivial pour le ProgID, adapté à l’affichage pour l’utilisateur. Par souci de cohérence, cette chaîne doit contenir les mêmes données que l’entrée Par défaut de cette clé ProgID. Cette entrée peut être une chaîne REG_SZ ou REG_EXPAND_SZ, mais elle doit être mise en forme en tant que chaîne indirecte (un nom de fichier complet et une valeur de ressource précédé du symbole @), pour instance @%SystemRoot%\shell32.dll,-154.
Info-bulle Définissez cette entrée sur un bref message d’aide que l’interpréteur de commandes affiche pour ce ProgID. L’entrée InfoTip s’affiche dans une boîte de dialogue de survol de la souris. Cette valeur peut être une chaîne REG_SZ ou REG_EXPAND_SZ, mais, comme FriendlyTypeName, elle doit être mise en forme en tant que chaîne indirecte.
CurVer Définissez l’entrée (Par défaut) de cette sous-clé sur la version la plus récente de ce ProgID.
Note: Sauf si vous avez des versions d’application côte à côte, c’est-à-dire plusieurs versions installées sur le même système, vous devez éviter d’utiliser CurVer.
DefaultIcon. Définissez l’entrée (Par défaut) de cette sous-clé sur l’icône par défaut que vous souhaitez afficher pour les types de fichiers associés à ce ProgID. Cette valeur peut être une chaîne REG_SZ ou REG_EXPAND_SZ, mais elle doit être fournie sous la forme d’un nom de fichier complet avec sa valeur de ressource associée, pour instance %SystemRoot%\shell32.dll,-154.

 

L’exemple de clé de Registre suivant illustre un nœud de clé ProgID d’association de fichiers :

HKEY_CLASSES_ROOT
   Vendor.App.1
      (Default) = My Friendly Name
      AllowSilentDefaultTakeOver
      AppUserModelID = Vendor.Application
      EditFlags = 0x00000001
      FriendlyTypeName = @%SystemRoot%\shell32.dll,-154
      InfoTip = @%SystemRoot%\shell32.dll,-54
      CurVer
         (Default) = Vendor.App.1
      DefaultIcon
         (Default) = %SystemRoot%\shell32.dll,-1

Utilisation d’identificateurs programmatiques versionnés

Un ProgID versionné en est un dont la version est indiquée dans son nom. Pour ce faire, vous ajoutez généralement un point et le numéro de version au nom. Par exemple :

  • Word. Document.6
  • Word. Document.8

Il s’agit de ProgID avec version, avec les versions 6 et 8 respectivement. Si vous avez une application côte à côte, c’est-à-dire une application qui prend en charge plusieurs versions de votre application installées en même temps, utilisez CurVer et ProgID indépendant de version. Sinon, les progID CurVer et Indépendant de la version doivent être évités, car ils entraîneront une inefficacité.

Comment inscrire un type de fichier pour une nouvelle application

Inscription de l’application

Types de fichiers

Fonctionnement des associations de fichiers

Affichage de contenu par type ou type de fichier

Vérificateur de type de fichier

Gestionnaires de types de fichiers

Types perçus

Tableaux d’association