如何註冊預覽處理常式

本主題說明如何註冊與指定資料類型相關聯的預覽處理常式。 為了說明,本主題中的範例會使用 .xyz 檔案類型。 預覽處理常式的註冊是以標準檔案關聯為基礎的註冊。

指示

步驟 1:

首先,副檔名與 ProgID 相關聯。 下列專案會將 xyzfile ProgID 子機碼與 .xyz 副檔名產生關聯。

HKEY_CLASSES_ROOT
   .xyz
      (Default) = [REG_SZ] xyzfile

xyzfile ProgID 子機碼會與其他 ProgID 一起儲存,如下所示:

HKEY_CLASSES_ROOT
   xyzfile

每個預覽處理常式 ProgID 子機碼都包含名為 shellex 的子機碼,其中包含 一律 名為 {8895b1c6-b41f-4c1c-a562-0d564250836f}的子機碼。 該子機碼的存在會告知系統處理常式是預覽處理常式。

{8895b1c6-b41f-4c1c-a562-0d564250836f}子機碼的預設值是處理常式 (CLSID) 的類別識別碼。 此處顯示 xyzfile ProgID 子機碼的範例,將 CLSID 的處理常式關聯至 {ec3a629a-a47c-4245-bc78-b4b63d0e3154}。

HKEY_CLASSES_ROOT
   xyzfile
      shellex
         {8895b1c6-b41f-4c1c-a562-0d564250836f}
            (Default) = [REG_SZ] {ec3a629a-a47c-4245-bc78-b4b63d0e3154}

步驟 2:

接下來,為預覽處理常式新增 CLSID 下的子機碼。 此處顯示一個範例。 後續個別專案的說明。

HKEY_CLASSES_ROOT
   CLSID
      {ec3a629a-a47c-4245-bc78-b4b63d0e3154}
         (Default) = [REG_SZ] Fabricam XYZ Preview Handler
         DisplayName = [REG_SZ] @myhandler.dll,-101
         Icon = [REG_SZ] myhandler.dll,201
         AppID = [REG_SZ] {6d2b5079-2f0b-48dd-ab7f-97cec514d30b}
         InprocServer32
            (Default) = [REG_EXPAND_SZ] %ProgramFiles%\Fabricam\myhandler.dll
            ThreadingModel = [REG_SZ] Apartment
            ProgID = [REG_SZ] xyzfile
            VersionIndependentProgID = [REG_SZ] Version IndependentProgID

此處 (子機碼的預設值, {ec3a629a-a47c-4245-bc78-b4b63d0e3154}) 不需要或使用。 不過,將它設定為非當地語系化字串可協助您偵錯註冊問題。

DisplayName 專案中.dll資源的減號 (-101) 基於舊版原因而存在。 另一方面,圖示專案不需要減號。

AppID 值會參考與儲存在 HKEY_CLASSES_ROOT APPID底下\ 之副檔名 (相關聯之應用程式的AppID。 此處使用的值—{6d2b5079-2f0b-48dd-ab7f-97cec514d30b}—是代理主機的 Prevhost.exe識別碼。 在 64 位作業系統上安裝時,32 位預覽處理常式應該使用 AppID {534A1E02-D58F-44f0-B58B-36CBED287C7C} 。

InprocServer32子機碼下的專案包含副檔名 ProgID 子機碼的參考,以及VersionIndependentProgID的專案。

步驟 3:

最後,預覽處理常式必須新增至所有預覽處理常式的清單。 此清單是系統用來列舉所有已註冊預覽處理常式以供顯示之用的優化。 同樣地,不需要預設值,它只會協助偵錯程式。

注意

在 Windows 7 中,如果為電腦的所有使用者安裝應用程式,請使用 HKEY_LOCAL_MACHINE;如果只有一位使用者,請使用 HKEY_CURRENT_USER。

 

HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PreviewHandlers
                  {ec3a629a-a47c-4245-bc78-b4b63d0e3154}
                     (Default) = [REG_SZ] Fabricam XYZ Preview Handler

預覽處理常式和殼層預覽主機

建置預覽處理常式

預覽處理常式指導方針