程式設計識別碼

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

本主題的組織方式如下:

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

檔案關聯所使用的程式設計識別碼專案

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

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

元素 Description
(預設) 將 ProgID 子機碼的預設專案設定為該 ProgID 的易記名稱,適合向使用者顯示。 在執行 Windows 2000 或更新版本的系統上,使用這個專案來保存易記名稱已被 FriendlyTypeName 專案取代。 不過,您應該為回溯相容性設定此值。
在 Windows 8) 中引進的 AllowSilentDefaultTakeOver ( 將此選擇性專案設定為表示 Windows 在判斷公用檔案類型的預設處理常式時,應該忽略此 ProgID。 不論是否已設定此值,ProgID 都會繼續出現在 OpenWith 快捷方式功能表和對話方塊中。 這是REG_NONE值。
Windows 7) 中引進的 AppUserModelID ( 如果應用程式使用明確的 AppUserModelID,並使用系統自動產生的 [最近 ] 或 [ 頻繁 跳躍清單],或提供自訂快捷方式清單,請將此選擇性專案設定為應用程式的明確應用程式使用者模型識別碼 (AppUserModelID) 。 如果應用程式使用明確的 AppUserModelID 且未設定此值,專案就不會出現在該應用程式的快捷方式清單中。 這是REG_SZ字串。 如需詳細資訊,請參閱 應用程式使用者模型識別碼 (AppUserModelIDs)
EditFlags 使用 FILETYPEATTRIBUTEFLAGS 列舉中的旗標來設定此選擇性專案。 EditFlags 專案控制殼層處理連結至此 ProgID 之檔案類型的某些層面。 您也可以使用 EditFlags 專案來限制使用者可以使用檔案的屬性工作表修改這些檔案類型的特定層面。 用於 EditFlags 的 FILETYPEATTRIBUTAGS 值是二進位值,因此您可以將多個屬性結合成位 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 將此子機碼的 ([預設) 專案] 設定為這個 ProgID 的最新版本。
注意: 除非您有並存應用程式版本,也就是說,安裝在相同系統上的多個版本,否則您應該避免使用 CurVer
DefaultIcon 將此子機碼的 ([預設) 專案] 設定為您想要針對與此 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

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

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

應用程式註冊

檔案類型

檔案關聯的運作方式

依檔案類型或種類檢視內容

檔案類型驗證程式

檔案類型處理常式

認知類型

關聯陣列