共用方式為


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

本主題適用於 Windows Vista 和更新版本。 其中包含下列各節:

介紹

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

下列專案會向 Windows 相片庫和 Windows 檔案總管指出擴展名 (.ext) 及其相關聯的 MIME 類型與影像格式相關聯。

下列專案會向使用內容類型(也稱為mime類型)的Windows和應用程式指出具有指定擴展名 (.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 Photo Gallery 和 Windows Explorer 所顯示的屬性一致。 當相片屬性處理程式更新元數據時,它可確保這些屬性會一致地更新檔案中存在的所有通用元數據格式。

photo 屬性處理程式必須瞭解容器格式,以及如何找出其中的各種屬性。 一般而言,相片屬性處理程式不可能知道各種元數據區塊如何以專屬容器格式配置。 不過,如果容器格式中的元數據配置方式與 TIFF 容器格式或 JPEG 容器格式中的元數據相同,photo 屬性處理程式也可以利用該知識,以一致的方式更新容器格式中的元數據。

您可以建立下列登錄項目來註冊此關聯。 這個專案會通知相片屬性處理程式,此 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}

下列專案會將相片屬性處理程序的預設 IProperty Store 實作與擴展名為 “.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 Photo Gallery 中開啟,您必須建立下列登錄專案來建立檔案關聯。

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。 (HKCR\.ext\ShellEx\ 下的所有項目都會在 HKCR\SystemFileAssociations\.ext\ShellEx\. 下重複。

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

概念

Encoder-Specific 登錄專案

CODEC 安裝和註冊

如何撰寫 WIC-Enabled CODEC

Windows 映射元件概觀