Types de fichiers

Cette rubrique explique comment créer de nouveaux types de fichiers et comment associer votre application à votre type de fichier et à d’autres types de fichiers bien définis. Les fichiers avec une extension de nom de fichier commun partagée (.doc, .html, etc.) sont du même type. Par exemple, si vous créez un éditeur de texte, vous pouvez utiliser le type de fichier .txt existant. Dans d’autres cas, vous devrez peut-être créer un nouveau type de fichier.

Cette rubrique est organisée comme suit :

Vous trouverez des informations supplémentaires sur les sujets suivants :

Types de fichiers publics et privés

Les types de fichiers publics sont également appelés types populaires ou contentieux, car des applications concurrentes peuvent souhaiter être associées à ces types de fichiers. Les caractéristiques des types de fichiers publics sont les suivantes :

  • Ils sont généralement définis par des organismes de normes et/ou sont promus par leurs organisations définissant des formats d’échange.
  • Ils sont souvent échangés entre ordinateurs et utilisateurs à des fins diverses.
  • Elles doivent être prises en charge sur de nombreuses plateformes différentes.
  • Les applications de plusieurs fournisseurs sont susceptibles de les gérer.

Parmi les types de fichiers considérés comme publics, citons les types de fichiers image .png, .gif, .jpg et .bmp, ainsi que les types audio .wav, .mp3 et .au.

Contrairement aux types de fichiers publics, les types de fichiers privés ou propriétaires ont généralement un format qui est implémenté et compris par une seule application ou fournisseur. Par conséquent, les types de fichiers privés ne sont généralement pas sujets aux conflits entre les applications. Certains types de fichiers peuvent commencer en tant que types de fichiers privés, mais devenir plus tard des types de fichiers publics.

Notes

Windows ne fait pas de distinction entre les types de fichiers publics et privés. La distinction n’est pertinente que pour prendre des décisions concernant votre choix d’enregistrement de type de fichier.

 

Inscription d’un type de fichier

Pour associer le type de fichier à une application existante, recherchez le ProgID de l’application dans le Registre. Pour associer le type de fichier à une nouvelle application, définissez un ProgID pour votre application. Pour plus d’informations sur la définition d’un nouveau ProgID, consultez Identificateurs programmatiques.

Les sous-clés d’extension de nom de fichier ont la forme générale suivante : extension=ProgID. Les sous-clés d’extension de nom de fichier sont stockées dans la sous-arborescence HKEY_CLASSES_ROOT .

Il est important d’inclure la période de début (.) lors de la création de sous-clés de type de fichier dans le Registre. Par exemple, si vous souhaitez ouvrir un type de fichier avec l’extension courte .myp et l’extension longue .myp-file avec une application appelée MyProgram, utilisez la syntaxe suivante :

HKEY_CLASSES_ROOT
   .myp
      (Default) = ApplicationVendor.MyProgram
   .myp-file
      (Default) = ApplicationVendor.MyProgram
   ApplicationVendor.MyProgram
      (Default) = MyProgram Application

Comme illustré dans l’exemple précédent, si vous inscrivez également une extension de nom de fichier court (.myp), vous devez également créer une sous-clé pour l’extension longue (.myp-file). Pour plus d’informations, consultez Gestionnaires de types de fichiers.

Définition des sous-clés facultatives et des attributs d’extension de type de fichier

Les entrées d’extension de type de fichier dans le Registre ont plusieurs sous-clés et attributs facultatifs.

Les entrées d’extension de type de fichier utilisées par les associations de fichiers sont décrites dans le tableau suivant. Toutes les valeurs sont du type REG_SZ .

Entrée de Registre Action
Default Définissez la valeur par défaut de la sous-clé d’extension sur le ProgID auquel elle est liée.
Type de contenu Définissez la valeur Type de contenu sur le type de contenu MIME du type de fichier.
OpenWithList Ne pas utiliser. Cette sous-clé contient une ou plusieurs sous-clés d’application pour les applications qui apparaissent dans l’entrée de boîte de dialogue Ouvrir avec pour le type de fichier et qui sont destinées uniquement aux applications .exe sur les systèmes d’exploitation antérieurs à Windows XP. Utilisez OpenWithProgIds à la place.
OpenWithProgIds Cette sous-clé contient une liste d’autres progID pour ce type de fichier. Les programmes de ces ProgID apparaissent dans le menu Ouvrir avec et sont disponibles en tant qu’applications du Windows Store par défaut pour le type de fichier. Chaque fois qu’une application prend le contrôle de ce type de fichier en modifiant la valeur par défaut, elle doit également ajouter une entrée à cette liste.
PerceivedType Définissez la valeur PerceivedType sur l’élément PerceivedType auquel le fichier appartient, le cas échéant. Cette chaîne n’est pas utilisée par les versions de Windows antérieures à Windows Vista. Pour plus d’informations, consultez Types perçus et Inscription d’applications.

 

La forme générale d’une sous-clé d’extension de nom de fichier est la suivante. Tous les types d’entrée sont du type REG_SZ .

HKEY_CLASSES_ROOT
   .ext
      (Default) = ProgID.ext.1
      Content Type = MIME content type
      PerceivedType = PerceivedType
      OpenWithProgids
         ProgID2.ext.1
         ProgID3.ext.1
      ProgID.ext.1
         shellnew

Les éléments importants à prendre en compte sur les types de fichiers sont les suivants :

  • La sous-arborescence HKEY_CLASSES_ROOT est une vue formée par la fusion HKEY_CURRENT_USER\classes de logiciels\ et de classes delogiciels\ HKEY_LOCAL_MACHINE\

  • En général, HKEY_CLASSES_ROOT est destiné à être lu à partir de, mais pas à écrire. Pour plus d’informations, consultez l’article HKEY_CLASSES_ROOT .

  • Pour inscrire un type de fichier globalement sur un ordinateur particulier, créez une entrée pour le type de fichier dans la sous-clé HKEY_LOCAL_MACHINE\Software\Classes .

  • Pour rendre une inscription de type de fichier visible uniquement pour l’utilisateur actuel, créez une entrée pour le type de fichier dans la sous-clé HKEY_CURRENT_USER\Software\Classes .

  • Une application peut fournir sa propre implémentation d’un verbe, par exemple ouvrir ou lire, comme illustré dans l’exemple de Registre suivant.

    HKEY_CLASSES_ROOT
       Applications
          ApplicationName.exe
             shell
                verb
    

    Les sous-clés de la sous-clé de verbe incluent la ligne de commande et la méthode drop target : command et DropTarget.

  • Lorsque vous créez ou modifiez une association de fichiers, il est important d’informer le système que vous avez apporté une modification. Pour ce faire, appelez SHChangeNotify et spécifiez l’événement SHCNE_ASSOCCHANGED . Si vous n’appelez pas SHChangeNotify, il est possible que la modification ne soit reconnue qu’après le redémarrage du système.

  • Pour récupérer des informations de Registre concernant une association de fichiers, utilisez l’interface IQueryAssociations . Pour obtenir un scénario illustrant cette procédure, consultez Exemple de scénario d’association de fichiers.

Notes

Les sous-clés de Registre Chemins d’accès aux applications et Applications sont utilisées pour inscrire et contrôler le comportement du système pour le compte des applications. Pour plus d’informations sur cette fonctionnalité, consultez Inscription d’application.

 

Suppression des informations du Registre pendant la désinstallation

Lors de la désinstallation d’une application, les ProgID et la plupart des autres informations de Registre associées à cette application doivent être supprimés dans le cadre de la désinstallation. Toutefois, les applications qui ont pris possession d’un type de fichier (en définissant la valeur par défaut de la sous-clé HKEY_CLASSES_ROOT.extension\ du type de fichier sur le ProgID de l’application) ne doivent pas tenter de supprimer cette valeur lors de la désinstallation. Laisser les données en place pour la valeur Par défaut évite la difficulté de déterminer si une autre application a pris possession du type de fichier et a remplacé la valeur Par défaut après l’installation de l’application d’origine. Windows respecte la valeur Par défaut uniquement si le ProgID a trouvé un ProgID inscrit. Si le ProgID est désinscrit, il est ignoré.

Notez que d’autres informations de propriété de type de fichier sont stockées dans la sous-arborescence HKEY_CURRENT_USER et sont également utilisées uniquement lorsque l’application qu’elle référence est inscrite. Par conséquent, ces données n’ont pas besoin d’être supprimées lors de la désinstallation d’une application.

Par exemple, l’exemple suivant montre l’état du Registre avant la désinstallation d’une application :

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID
      shell
         open
            command
               (Default) = yourapp.exe %1

L’exemple suivant montre l’état de ces mêmes entrées de Registre une fois l’application désinstallée.

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID subkey removed

Types de fichiers qui prennent en charge les métadonnées ouvertes

Dans Windows 7 et versions ultérieures, les types de fichiers suivants prennent en charge les métadonnées ouvertes.

Type de fichier Extensions de nom de fichier
Office 2007 Documents .docx, .xlsx, .pptx
Office 97-2003 Documents .doc, .xls, .ppt
Recherche enregistrée .search-ms
Formats Windows Media (conteneur ASF (Advanced Streaming Format) .wmv, .wma
MP4 (gestionnaire de propriétés) .mp4, .m4a, .m4v, .mp4v, .m4p, .m4b, .3gp, .3gpp, .3gp2, .mov

 

Inscription de l’application

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

Identificateurs programmatiques

Types perçus

Tableaux d’association