指定的檔案名稱副檔名的檔案處理常式
有許多方法來判斷應用程式處理特定副檔名的檔案。 OpenWithList 和 OpenWithProgids 的動詞命令有兩種方法可以指定在 [檔案副檔名的登錄項目] 下的檔案處理常式。
OpenWithList 的動詞命令
當您右按 Windows 檔案總管] 中的檔案時,您會看到開啟指令。 如果一個以上的產品是與副檔名產生關聯,您會看到開啟 ] 子功能表。
您可以註冊不同的應用程式,若要開啟在 HKEY_CLASSES_ROOT 中設定的檔案副檔名的 OpenWithList 機碼的副檔名。 列出的檔案副檔名的此機碼下的應用程式會出現在建議的程式 節在 開啟對話方塊。 在Windows 2000和Windows XP Professional,這些應用程式也會顯示在開啟產品名稱出主要的快顯功能表] 子功能表。 下列範例會示範應用程式登錄可以開啟.vcproj 檔案的副檔名。
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.10.0"
OpenWithList\
devenv.exe
注意事項 |
---|
指定的應用程式的索引鍵是在 [HKEY_CLASSES_ROOT\Applications 清單中。 |
藉由新增 OpenWithList 機碼,您可以宣告您的應用程式支援的副檔名,即使另一個應用程式所需的擴充功能的擁有權。 這可能是您的應用程式或其他應用程式的未來版本。
OpenWithProgIDs
程式設計識別項 (Progid) 是識別應用程式或 COM 物件版本的 ClassIDs 的好記的版本。 Co-creatable 的每個物件都應該有它自己的 ProgID。 例如,VisualStudio.DTE.7.1 會開始 Visual Studio。NET 2003 時啟動 VisualStudio.DTE.10.0 Visual Studio。 為專案類型或專案項目型別的擁有人,您必須建立特定版本的 ProgID,檔案副檔名。 這些 Progid 可能是多餘的因為一個以上的 ProgID,可能會啟動相同的應用程式。 如需詳細資訊,請參閱 註冊副檔名的動詞命令。
為了避免重複使用來自其他廠商的註冊用於 Progid 建立版本的檔案命名慣例如下:
副檔名 |
已建立版本 ProgID |
---|---|
.extension |
產品名稱。 extension.versionMajor.versionMinor |
您可以註冊不同的應用程式,可以開啟特定的副檔名做為值的建立版本的 Progid 加入 HKEY_CLASSES_ROOT\<extension>\OpenWithProgids 機碼。 這個登錄機碼包含一份替代檔案副檔名相關聯的 Progid。 列出的 Progid 相關聯的應用程式會出現在開啟產品名稱 ] 子功能表。 如果同一個應用程式在兩處指定OpenWithList和OpenWithProgids機碼,作業系統會合併重複的項目。
注意事項 |
---|
OpenWithProgids在 Windows XP 中只支援機碼。因為其他作業系統會忽略此機碼,請不要使用它為唯一的登錄檔案處理常式。您可以使用此技巧來提供更好的使用者經驗,在 Windows XP。 |
加入您想要的 Progid 做為臨時型別的值。 下列程式碼提供註冊的檔案副檔名的 Progid 的範例 (。「 ext 」).
HKEY_CLASSES_ROOT\
.ext\
(default)="MyProduct.ext.10.0"
OpenWithProgids
progid REG_NONE (zero-length binary value)
otherprogid REG_NONE (zero-length binary value)
指定的檔案副檔名的預設值是預設的檔案處理常式的 ProgID。 如果您修改了前一版所隨附的檔案副檔名 ProgID Visual Studio或,可以取得對其他應用程式,那麼您必須註冊OpenWithProgids機碼的檔案副檔名,並連同您支援舊的 Progid] 清單中指定新的 ProgID。 例如:
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.10.0"
OpenWithProgids
vcprojfile //old progid
VisualStudio.vcproj.8.0 //old progid
VisualStudio.vcproj.10.0 //new progid
如果舊的 ProgID 動詞命令相關聯,則這些動詞命令也會出現在開啟產品名稱在快顯功能表中。