擴充功能區
在 Windows 檔案總管中,功能區有助於讓常見的使用者檔案管理活動更容易且更容易探索,但應用程式開發人員會有變更。 例如,舊命令列可以自由擴充,但功能區目前會受到更多限制。 此外,預設不會顯示所有命名空間延伸模組的功能區,因此您必須加入宣告以取得功能區;否則,您會取得較舊的命令列。
功能區上使用者可用的動作分為三個擴充性類別:
- 不需要擴充性。 範例:複製、貼上、刪除。 Windows 會為您處理這些動詞。
- 目前不允許擴充性:範例:Zip、關閉會話和其他自訂動作。 使用操作功能表來涵蓋這些案例。
- 擴充性內建于動作本身。 範例:搜尋、Email、列印、新增專案。 您必須註冊這些動詞命令,才能在功能區中包含您的應用程式或檔案格式。
本檔說明如何加入宣告以取得功能區,以及如何註冊以處理特定的功能區動詞。
加入宣告功能區
若要加入宣告功能區,您的 IShellFolder2實作應該在IExplorerPaneVisibility::GetPaneState中指定EP_Ribbon,並傳回EPS_FORCE | EPS_DEFAULT_ON。
擴充副檔名的功能區
這些功能區按鈕可根據副檔名進行擴充:
- 全部擷
- 掛接 | (ISO)
- 播放 |全部播放 |新增至播放清單 (動詞:排入佇列)
- Open
- 編輯
- 屬性
當您註冊以靜態方式處理新檔案類型的相關動詞時,功能區會適當地處理動詞。 您可以像操作功能表動詞一樣註冊。 如需檔案關聯和註冊動詞的詳細資訊,請參閱 動詞和檔案關聯 和 建立快捷方式功能表處理常式。
註冊為 ActionId 的預設處理常式
首先,在適當的 AssocActionId 子機碼下註冊 ProgId。 每個 AssocActionId 子機碼都代表使用者可從功能區叫用的動詞或動作。 在此範例中,應用程式會註冊 ZipSelection ActionID,以擴充功能區上的 [全部擷取] 按鈕。
HKEY_LOCAL_MACHINE
SOFTWARE
Classes
Explorer.AssocActionId.ZipSelection
shell
open
command
(Default) = %SystemRoot%\[Your App].exe
Microsoft
Windows
CurrentVersion
Your App Name
Capabilities
URL Protocol
FriendlyTypeName = @%SystemRoot%\explorer.exe,-1234
註冊完成後,您必須註冊以處理通訊協定,就像平常一樣,如 預設程式中所述。