共用方式為


與 Windows 相片庫和 Windows 檔案總管整合

本主題適用于 Windows Vista 和更新版本。 它包含下列區段:

簡介

若要讓 Windows 相片庫和 Windows 檔案總管顯示縮圖並搜尋及更新標準影像中繼資料,編解碼器必須具有與其相關聯的 IThumbnailProviderIPropertyStore 介面實作。 IThumbnailProvider 介面可用來擷取縮圖並填入縮圖快取,而 IPropertyStore 介面則用於搜尋和更新與檔案相關聯的中繼資料。 從 Windows Vista 開始,所有檔案類型都有縮圖和中繼資料,但不同的檔案類型需要這些介面的不同實作來擷取或產生其縮圖和中繼資料。 系統會提供這些介面的預設實作。 IThumbnailProvider 的預設實作可用於任何 Windows 映像處理元件 (WIC) 啟用影像格式。 IPropertyStore 的預設實作可以搭配任何已啟用 WIC 的影像格式使用,此格式是以標記影像檔案格式為基礎, (TIFF) 或 JPEG 容器。 若要將映射格式與這兩個介面的預設實作產生關聯,您只需要新增幾個登錄專案。

下列專案會向 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 屬性存放區整合

有時候相同的中繼資料屬性會在不同的中繼資料架構中公開,通常有不同的屬性名稱。 當其中一個屬性更新,但其他屬性不是時,檔案內的中繼資料可能會不同步。相片屬性處理常式會提供影像的預設 IPropertyStore 實作,並由應用程式以及 Windows 相片庫和 Windows 檔案總管使用,以確保影像中的所有中繼資料都會保持同步,而且應用程式所顯示的屬性與 Windows 相片庫和 Windows 檔案總管所顯示的屬性一致。 當相片屬性處理常式更新中繼資料時,它可確保這些屬性會一致地更新檔案中所有常見的元資料格式。

photo 屬性處理常式必須瞭解容器格式,以及如何找出其中的各種屬性。 一般而言,相片屬性處理常式不可能知道各種中繼資料區塊如何以專屬容器格式配置。 不過,如果容器格式中的中繼資料與 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。 (HKCR\.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 映像元件概觀