檔案關聯的運作方式

檔案關聯會定義 Shell 如何處理系統上的 檔案類型

本主題的組織方式如下:

關於檔案關聯

檔案關聯可控制下列功能:

  • 當使用者按兩下檔案時,會啟動哪些應用程式。
  • 根據預設,檔案會出現哪一個圖示。
  • 在 Windows 檔案總管中檢視時,檔案類型的顯示方式。
  • 哪些命令會出現在檔案的快捷方式功能表中。
  • 其他 UI 功能,例如工具提示、磚資訊和詳細資料窗格。

應用程式開發人員可以使用檔案關聯來控制 Shell 如何處理自訂檔案類型,或將應用程式與現有的檔案類型產生關聯。 例如,安裝應用程式時,應用程式可以檢查是否有現有的檔案關聯,並建立或覆寫這些檔案關聯。

使用者可以控制檔案關聯的某些層面,藉由使用 Open With UI 或編輯登錄,自訂 Shell 如何處理檔案類型。

在下方螢幕擷取畫面所示的 Windows 檔案總管視窗中,Shell 會根據與檔案類型相關聯的圖示,顯示每個檔案的不同圖示。 如果使用者按兩下 範例點陣圖影像檔案,Shell 會啟動 Paint,並使用它開啟檔案,因為在此系統上,Paint 與.bmp檔案相關聯。 人員可以使用檔案關聯來控制這些動作。

檔案關聯在實務上運作方式的圖例

當您應該實作或修改檔案關聯時

應用程式可以針對各種用途使用檔案:某些檔案是由應用程式獨佔使用,而且通常不會由使用者存取,而其他檔案是由使用者建立,而且通常會從 Shell 開啟、搜尋及檢視。

除非您的應用程式獨佔使用自訂檔案類型,否則您應該為其實作檔案關聯。 根據一般規則,如果您預期使用者以任何方式直接與這些檔案互動,請實作自訂檔案類型的檔案關聯。 這包括使用 Shell 流覽和開啟檔案、搜尋檔案的內容或屬性,以及預覽檔案。

如果您的應用程式正在處理現有的檔案類型,除非您想要修改 Shell 處理此類型所有檔案的方式,否則請勿修改檔案關聯。

檔案關聯的運作方式

檔案會在 Shell 中公開為 Shell 專案。 若要控制檔案關聯,應用程式開發人員可以在檔案類型與處理常式之間註冊對應, (COM 物件,以提供檔案類型殼層專案的功能) 。 當 Shell 需要查詢檔案類型的檔案關聯時,它會建立登錄機碼陣列,其中包含檔案類型的關聯,並檢查這些機碼是否有要使用的適當檔案關聯。

其他資源

應用程式註冊

檔案類型

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

檔案類型驗證程式

檔案類型處理常式

程式設計識別碼

認知類型

關聯陣列