与Windows照片库和Windows资源管理器集成

本主题适用于 Windows Vista 及更高版本。 它包含以下部分:

简介

若要使Windows照片库和Windows资源管理器显示缩略图和搜索和更新标准图像元数据,编解码器必须具有与之关联的 IThumbnailProviderIPropertyStore 接口的实现。 IThumbnailProvider 接口用于检索缩略图并填充缩略图缓存,而 IPropertyStore 接口用于搜索和更新与文件关联的元数据。 从 Windows Vista 开始,所有文件类型都具有缩略图和元数据,但不同的文件类型需要这些接口的不同实现来检索或生成它们的缩略图和元数据。 系统提供这些接口的默认实现。 IThumbnailProvider 的默认实现可用于启用 WIC) 的图像格式的任何Windows映像组件 (。 IPropertyStore 的默认实现可以与基于 TIFF () 或 JPEG 容器的标记图像文件格式的任何已启用 WIC 的图像格式一起使用。 若要将映像格式与这两个接口的默认实现相关联,必须只添加几个注册表项。

以下条目指示Windows照片库和Windows资源管理器,文件扩展名 (.ext) 及其关联的 MIME 类型与图像格式相关联。

以下条目指示Windows和使用内容类型的应用程序 (也称为 mime 类型) 具有给定扩展名 (.ext) 的文件是图像格式。 文件类型所有者需要选择唯一 <image sub type value> 标识文件格式的文件类型,并且此内容类型值需要注册到 IANA。

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

以下条目指示Windows,Windows搜索和应用程序使用 System.Kind,文件名扩展名 (.ext) 应被视为图片。 具体而言,它指示文件扩展名的 System.Kind 属性应设置为 Picture。

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

与 Windows 属性Microsoft Store集成

有时,相同的元数据属性在不同的元数据架构中公开,通常使用不同的属性名称。 当其中一个属性更新,但其他属性不是时,文件中的元数据可能会不同步。照片属性处理程序提供图像的默认 IPropertyStore 实现,由应用程序以及Windows照片库和Windows资源管理器使用,以确保图像中的所有元数据保持同步,应用程序显示的属性与Windows照片库和Windows 探险 家。 当照片属性处理程序更新元数据时,它可确保这些属性在文件中存在的所有通用元数据格式中一致地更新。

照片属性处理程序必须了解容器格式以及如何在容器中查找各种属性。 通常,照片属性处理程序不可能知道各种元数据块是如何以专有容器格式布局的。 但是,如果容器格式中的元数据与 TIFF 容器格式或 JPEG 容器格式中的元数据相同,照片属性处理程序还可以利用该知识以容器格式一致地更新元数据。

可以通过创建以下注册表项来注册此关联。 此条目通知照片属性处理程序,此 GUID 标识的容器格式理解与 GUID 163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 相同的元数据查询语言路径。 (163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 是 TIFF 容器格式的 GUID。)

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

以下条目将照片属性处理程序的默认 IPropertyStore 实现与扩展名为“.ext”的文件相关联。 第一个 GUID 是 IPropertyStore 接口的 IID,第二个 GUID 是照片属性处理程序实现的 GUID。

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

使用与 TIFF 或 JPEG 容器格式不兼容的专有格式的编解码器必须编写自己的 IPropertyStore 实现。

Windows照片库基于 WIC 构建,可以显示安装编解码器的任何已启用 WIC 的图像格式。 若要通知系统图像格式可以在Windows照片库中打开,需要通过创建以下注册表项来创建文件关联。

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"

ProgID 通常是用单词“file”追加的文件扩展名。 (例如,如果文件扩展名.txt,ProgID 通常为“txtfile”。)

可能需要创建其他标准注册表项来支持文件关联;但是,由于 y 不特定于 WIC,因此它们超出了本主题的范围。

与Windows缩略图缓存集成

以下两个条目指示标准 WIC 缩略图提供程序实现可用于检索具有此扩展名的文件的缩略图。 第一个 GUID 是 IThumbnailProvider 接口的 IID,第二个 GUID 是此接口的标准系统实现的 GUID。 (HLCR\.ext\ShellEx\ 下的所有条目在 HKCR\SystemFileAssociations\.ext\ShellEx\.)

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

概念性

特定于编码器的注册表项

CODEC 安装和注册

如何编写WIC-Enabled CODEC

Windows映像组件概述