共用方式為


程序設計標識碼

Shell 會使用程式設計標識碼 (ProgID) 登錄子機碼,將檔類型與應用程式產生關聯,以及控制關聯的行為。 用於檔案關聯的 ProgID 專案位於登錄中的 HKEY_CLASSES_ROOT 之下。

本主題的組織方式如下:

如需詳細資訊,請參閱 如何為新的應用程式註冊檔類型

檔案關聯所使用的程式設計標識碼元素

ProgID 金鑰名稱的正確格式為 [Vendor 或 Application]。[元件]。[Version],以句號分隔,不含空格,如 Word.Document.6 所示。 版本 部分是選擇性的,但強烈建議使用。 如需詳細資訊,請參閱使用版本化程式設計識別碼

ProgID 子機碼應該包含下列元素。 請注意,此索引鍵中的某些字串數據需要特定的格式設定。

元素 描述
(預設值) 將 ProgID 子機碼的預設項目設定為該 ProgID 的易記名稱,適合向用戶顯示。 在執行 Windows 2000 或更新版本之系統上的 FriendlyTypeName 專案會取代使用此專案來保存易記名稱。 不過,您應該將此值設定為回溯相容性。
AllowSilentDefaultTakeOver (Windows 8 中引進) 將此選擇性項目設定為表示 Windows 在判斷公用檔類型的預設處理程式時,應該忽略此 ProgID。 不論是否已設定此值,ProgID 都會繼續出現在 OpenWith 快捷方式功能表和對話框中。 這是REG_NONE值。
AppUserModelID (在 Windows 7 中引進) 如果應用程式使用明確的AppUserModelID,並將這個選擇性專案設定為應用程式的明確應用程式使用者模型標識碼 (AppUserModelID),並使用系統自動產生的 最近頻繁 跳躍清單,或提供自定義的跳躍清單。 如果應用程式使用明確的 AppUserModelID 且未設定此值,則專案將不會出現在該應用程式的 Jump Lists 中。 這是REG_SZ字串。 如需詳細資訊,請參閱 應用程式使用者模型識別碼 (AppUserModelIDs)
EditFlags 使用來自 FILETYPEATTRIBUTEFLAGS列舉旗標來設定此選擇性專案。 EditFlags 專案可控制Shell處理連結至此 ProgID之文件類型的某些層面。 您也可以使用 EditFlags 專案來限制使用者可以使用檔案的屬性表修改這些檔案類型的某些層面。 FILETYPEATTRIBUTEFLAGS 用於 EditFlags 的值是二進位值,因此您可以將多個屬性結合成位 OR 運算中的單一值。 這是REG_DWORD或REG_BINARY值。
FriendlyTypeName 將此項目設定為 ProgID 的易記名稱,適合向用戶顯示。 為了保持一致性,此字串應該包含與這個 ProgID 索引鍵之 Default 專案相同的數據。 此項目可以是REG_SZ或REG_EXPAND_SZ字串,但必須格式化為間接字串(前面加上 @ 符號的完整檔名和資源值),例如 @%SystemRoot%\shell32.dll,-154
InfoTip 將此項目設定為殼層針對此 ProgID 顯示的簡短說明訊息。 InfoTip 項目會顯示在滑鼠上方對話框中。 這個值可以是REG_SZ或REG_EXPAND_SZ字串,但像FriendlyTypeName一樣,它必須格式化為間接字串。
CurVer 將此子機碼的 (Default) 專案設定為這個 ProgID 的最新版本。
注意: 除非您有並存應用程式版本,也就是安裝在相同系統上的多個版本,否則您應該避免使用 CurVer
DefaultIcon 將此子機碼的 (Default) 項目設定為您想要針對與此 ProgID 相關聯檔類型顯示的預設圖示。 這個值可以是REG_SZ或REG_EXPAND_SZ字串,但必須以其語音應答資源值作為完整檔名提供,例如 ,%SystemRoot%\shell32.dll,-154

 

下列登入機碼範例說明檔案關聯 ProgID 機碼節點:

HKEY_CLASSES_ROOT
   Vendor.App.1
      (Default) = My Friendly Name
      AllowSilentDefaultTakeOver
      AppUserModelID = Vendor.Application
      EditFlags = 0x00000001
      FriendlyTypeName = @%SystemRoot%\shell32.dll,-154
      InfoTip = @%SystemRoot%\shell32.dll,-54
      CurVer
         (Default) = Vendor.App.1
      DefaultIcon
         (Default) = %SystemRoot%\shell32.dll,-1

使用版本設定的程式設計標識碼

版本設定為 ProgID 的 ProgID,其版本會以其名稱表示。 您通常會藉由將句號和版本號碼新增至名稱來執行此動作。 例如:

  • Word.Document.6
  • Word.Document.8

這些分別是版本 6 和 8 的 ProgID。 如果您有並存應用程式,也就是同時支援多個應用程式版本的應用程式,請使用 CurVer 和版本獨立 ProgID。 否則,應該避免 CurVer 和版本獨立 ProgID,因為它們會導致效率低下。

如何為新的應用程式註冊檔類型

應用程式註冊

檔案類型

檔案關聯的運作方式

依檔類型或種類 內容檢視

檔案類型驗證程式

檔案類型處理程式

感知型別

關聯陣列