Shell 的功能可以透過登錄專案和 .ini 檔案來擴充。 雖然擴充殼層的這種方法很簡單,而且適用於許多用途,但有限。 例如,如果您使用登錄來指定檔類型的自定義圖示,該類型的每個檔案都會顯示相同的圖示。 使用登錄來擴充 Shell 並不允許您變更不同檔案類型成員的圖示。 Shell 的其他層面,例如當以滑鼠右鍵按下檔案時,屬性表 屬性表,完全無法使用登錄來修改。
擴充殼層的一種更強大且更具彈性的方式是實作 殼層擴充處理程式。 這些處理程式可以針對 Shell 可以採取的各種動作來實作。 在採取動作之前,Shell 會查詢擴充處理程式,讓它有機會修改動作。 常見的範例是快捷方式功能表延伸模組處理程式。 如果針對檔類型實作其中一個,每當其中一個檔案按下滑鼠右鍵時,就會查詢它。 然後,處理程式可以逐一檔案指定其他功能表項,而不是針對該文件類型的所有檔案使用相同的集合。
這組主題討論如何實作延伸模塊處理程式,讓您修改各種Shell動作。 下列處理程式會與特定文件類型相關聯,並可讓您依檔案逐一指定。
| 處理者 | 描述 |
|---|---|
| 快捷選單處理程式 | 在檔案的快捷方式功能表顯示之前呼叫。 它可讓您逐一檔案將項目新增至快捷選單。 |
| 資料處理器 | 在Shell對象上執行拖放作業時呼叫。 它可讓您將其他剪貼簿格式提供給置放目標。 |
| 拖放處理程式 | 當數據物件被拖曳至檔案上或放置在檔案上時呼叫。 它可讓您將檔案設為置放目標。 |
| 圖示處理程式 | 在顯示檔案圖示之前啟動。 它允許您以逐個檔案的方式,將檔案的預設圖示替換成自訂圖示。 |
| 屬性表處理程式 | 呼叫是在顯示物件的 Properties 屬性表之前進行的。 它可讓您新增或取代頁面。 |
| 縮圖影像處理程式 | 提供圖片來表示項目。 |
| Infotip 處理程式 | 當使用者將滑鼠指標停留在 物件上方時,提供快顯文字。 |
| 元數據處理程式 | 提供儲存在檔案中的元數據(屬性)的讀取和寫入存取權。 這可用來擴充詳細數據檢視、資訊提示、屬性頁和群組功能。 |
其他方法則不會與特定檔案類型相關聯,但會在某些 Shell 操作之前被呼叫。
| 管理者 | 描述 |
|---|---|
| 欄位處理程式 | 當 Windows 檔案總管在顯示資料夾的詳細資料檢視之前被呼叫。 它可讓您將自訂資料行新增至 [詳細數據] 檢視。 |
| 複製攔截處理程式 | 當即將移動、複製、刪除或重新命名資料夾或印表機物件時呼叫。 它可讓您核准或否決作業。 |
| 拖放處理程式 | 使用滑鼠右鍵拖曳檔案時呼叫。 它可讓您修改顯示的快捷方式功能表。 |
| 圖示重疊處理程式 | 在檔案的圖示顯示之前呼叫。 它可讓您指定檔案圖示的重疊。 |
| 搜尋處理程式 | 呼叫 以啟動搜尋引擎。 它可讓您實作可從 [開始] 功能表或 Windows 檔案總管存取的自定義搜尋引擎。 |
如何實作特定延伸模組處理程序的詳細數據涵蓋在上述各節中。 如需所有Shell擴充處理程式通用的實作問題討論,請參閱下列主題: