Partager via


Intégration à la Galerie de photos Windows et à Windows Explorer

Cette rubrique s’applique à Windows Vista et versions ultérieures. Il contient les sections suivantes :

Introduction

Pour permettre à la Galerie de photos Windows et à Windows Explorer d’afficher des miniatures et de rechercher et de mettre à jour les métadonnées d’image standard, un codec doit avoir une implémentation des interfaces IThumbnailProvider et IPropertyStore associées. L’interface IThumbnailProvider est utilisée pour récupérer des miniatures et remplir le cache de miniatures, et l’interface IPropertyStore est utilisée pour la recherche et la mise à jour des métadonnées associées à un fichier. À partir de Windows Vista, tous les types de fichiers ont des miniatures et des métadonnées, mais différents types de fichiers nécessitent des implémentations différentes de ces interfaces pour récupérer ou générer les miniatures et les métadonnées correspondantes. Le système fournit des implémentations par défaut de ces interfaces. L’implémentation par défaut de IThumbnailProvider peut être utilisée pour n’importe quel format d’image wic (Windows Imaging Component). L’implémentation par défaut d’IPropertyStore peut être utilisée avec n’importe quel format d’image compatible WIC basé sur un conteneur TIFF (Tagged Image File Format) ou JPEG. Pour associer votre format d’image aux implémentations par défaut de ces deux interfaces, vous devez ajouter seulement quelques entrées de Registre.

Les entrées suivantes indiquent à la Galerie de photos Windows et à Windows Explorer qu’une extension de nom de fichier (.ext) et son type MIME associé sont associés à un format d’image.

L’entrée suivante indique à Windows et aux applications qui utilisent le type de contenu (également appelé type mime) qu’un fichier avec une extension donnée (.ext) est un format d’image. Le propriétaire du type de fichier doit choisir un <image sub type value> qui identifie de manière unique le format de fichier et cette valeur de type de contenu doit être inscrite auprès de l’IANA.

HKEY_CLASSES_ROOT
   {.ext}
      ContentType = image/<image sub type>

L’entrée suivante indique à Windows, Windows Search et aux applications qui utilisent System.Kind qu’une extension de nom de fichier (.ext) doit être traitée comme une image. Plus précisément, elle indique que la propriété System.Kind de l’extension de fichier doit être définie sur Picture.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  KindMap
                     {.ext} = Picture

Intégration au Magasin de propriétés Windows

Parfois, les mêmes propriétés de métadonnées sont exposées dans des schémas de métadonnées différents, souvent avec des noms de propriétés différents. Lorsque l’une de ces propriétés est mise à jour, mais que les autres ne le sont pas, les métadonnées du fichier peuvent être désynchronisées. Le gestionnaire de propriétés photo fournit l’implémentation IPropertyStore par défaut pour les images et est utilisé par les applications ainsi que par la Galerie de photos Windows et windows Explorer pour garantir que toutes les métadonnées d’une image restent synchronisées et que les propriétés affichées par les applications sont cohérentes avec celles affichées par la Galerie de photos Windows et Windows Explorer. Lorsque le gestionnaire de propriétés photo met à jour les métadonnées, il s’assure que ces propriétés sont mises à jour de manière cohérente dans tous les formats de métadonnées courants présents dans le fichier.

Le gestionnaire de propriétés photo doit comprendre le format du conteneur et comment localiser les différentes propriétés qu’il contient. En général, il n’est pas possible pour le gestionnaire de propriétés photo de savoir comment les différents blocs de métadonnées sont disposés dans un format de conteneur propriétaire. Toutefois, si les métadonnées de votre format de conteneur sont disposées de la même façon que celles d’un format de conteneur TIFF ou d’un format de conteneur JPEG, le gestionnaire de propriétés photo peut tirer parti de ces connaissances pour mettre également à jour les métadonnées de manière cohérente dans votre format de conteneur.

Vous pouvez inscrire cette association en créant l’entrée de Registre suivante. Cette entrée informe le gestionnaire de propriétés photo que le format de conteneur identifié par ce GUID comprend les mêmes chemins de langage de requête de métadonnées que le format conteneur avec le GUID 163bcc30-e2e9-4f0b-961d-a3e9fdb788a3. (163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 est le GUID du format de conteneur TIFF.)

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PhotoPropertyHandler
                  ContainerAssociations
                     {Container Format GUID} = {163bcc30-e2e9-4f0b-961d-a3e9fdb788a3}

L’entrée suivante associe l’implémentation par défaut de IPropertyStore du gestionnaire de propriétés photo aux fichiers qui ont l’extension « . ext ». Le premier GUID est l’IID de l’interface IPropertyStore , et le second est le GUID de l’implémentation de celle-ci par le gestionnaire de propriétés photo.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PhotoPropertyHandler
                  {.ext}
                     (Default) = {a38b883c-1682-497e-97b0-0a3a9e801682}

Les codecs qui utilisent un format propriétaire qui n’est pas compatible avec le format de conteneur TIFF ou JPEG doivent écrire leur propre implémentation IPropertyStore .

La galerie de photos Windows est basée sur WIC et peut afficher n’importe quel format d’image compatible WIC pour lequel le codec est installé. Pour informer le système que le format de votre image peut être ouvert dans la Galerie de photos Windows, vous devez créer une association de fichiers en créant les entrées de Registre suivantes.

HKEY_CLASSES_ROOT
   {.ext}
      (Default) = {ProgID} for example, jpegfile)
      OpenWithProgids
         {ProgID}
      OpenWithList
         PhotoViewer.dll
      ShellEx
         ContextMenuHandlers
            ShellImagePreview
               (Default) = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
   SystemFileAssociations
      {.ext}
         OpenWithList
            PhotoViewer.dll
         ShellEx
            ContextMenuHandlers
               ShellImagePreview
                  (Default) = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
   {Image Format ProgID}
      (Default) = Name of Image Format
      DefaultIcon
         (Default) = Path to icon for type, icon index
      shell
         open
            MuiVerb = @%PROGRAMFILES%\Windows Photo Gallery\photoviewer.dll,-3043
            command
               (Default) = %SystemRoot%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Gallery\PhotoViewer.dll", ImageView_Fullscreen %1
            DropTarget
               Clsid = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
         printo
            command
               (Default) = %SystemRoot%\System32\rundll32.exe "%SystemRoot%\System32\shimgvw.dll", ImageView_PrintTo /pt "%1" "%2" "%3" "%4"

Le ProgID est généralement l’extension de nom de fichier ajoutée avec le mot « file ». (Par exemple, si l’extension de nom de fichier est .txt, le ProgID est généralement « txtfile ».)

Il existe d’autres entrées de Registre standard que vous devrez peut-être créer pour prendre en charge les associations de fichiers ; Toutefois, étant donné que les y ne sont pas spécifiques à WIC, ils dépassent le cadre de cette rubrique.

Intégration au cache de miniatures Windows

Les deux entrées suivantes indiquent que l’implémentation du fournisseur de miniatures WIC standard peut être utilisée pour récupérer des miniatures pour les fichiers avec cette extension. Le premier GUID est l’IID de l’interface IThumbnailProvider , et le second est le GUID de l’implémentation système standard de cette interface. (Toutes les entrées sous HKCR\.ext\ShellEx\ sont répétées sous HKCR\SystemFileAssociations\.ext\ShellEx\.)

HKEY_CLASSES_ROOT
   SystemFileAssociations
      {.ext}
         ShellEx
            {e357fccd-a995-4576-b01f-234630154e96}
               (Default) = {C7657C4A-9F68-40fa-A4DF-96BC08EB3551}

Conceptuel

Entrées de Registre spécifiques à l’encodeur

Installation et inscription codecs

Comment écrire un codec WIC-Enabled

Vue d’ensemble du composant d’acquisition d’images Windows