支援已封裝應用程式的舊版內容功能表

內容功能表是最受歡迎且有用的 shell 延伸模組之一。 如果您已在檔案總管或在桌面上,相較于開啟個別的應用程式,它會大幅減少完成檔案作業的步驟數目。

如果您的桌面應用程式會針對 shell 擴充功能(例如內容功能表處理常式或拖放處理常式)來執行舊版 ICoNtextMenu 介面,則在封裝應用程式之後,shell 擴充功能可能無法運作。 為了讓 shell 辨識並註冊擴充功能,您必須修改套件資訊清單檔。 (這項功能適用于 Windows 11 build 22000 +,其目前可透過Windows 測試人員組建取得)

  • 為您的 shellex dll 新增 com 命名空間和comServer 副檔名

    xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"

    以下是範例程式碼片段:

    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer DisplayName="<display-name-for-the-com-server>">
                <com:Class Id="<GUID-for-the-com-server>" Path="<path-to-the-com-server-or-dll>" ThreadingModel="STA" />
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    
  • 新增 desktop9 命名空間和 fileExplorerClassicCoNtextMenuHandler 或 fileExplorerClassicDragDropCoNtextMenuHandler 延伸模組

    xmlns:desktop9="http://schemas.microsoft.com/appx/manifest/desktop/windows10/9"

    以下是範例程式碼片段:

    <desktop9:Extension Category="windows.fileExplorerClassicContextMenuHandler">
        <desktop9:FileExplorerClassicContextMenuHandler>
            <desktop9:ExtensionHandler Type="*" Clsid="<GUID-for-the-com-server>" />
            <desktop9:ExtensionHandler Type=".txt" Clsid="<GUID-for-the-com-server>" />
            <desktop9:ExtensionHandler Type="Directory" Clsid="<GUID-for-the-com-server>" />
        </desktop9:FileExplorerClassicContextMenuHandler>
    </desktop9:Extension>
    
    <desktop9:Extension Category="windows.fileExplorerClassicDragDropContextMenuHandler">
        <desktop9:FileExplorerClassicDragDropContextMenuHandler>
            <desktop9:ExtensionHandler Type="Directory" Clsid="<GUID-for-the-com-server>" />
            <desktop9:ExtensionHandler Type="Drive" Clsid="<GUID-for-the-com-server>" />
        </desktop9:FileExplorerClassicDragDropContextMenuHandler>
    </desktop9:Extension>
    
  • 將 MaxVersionTested 變更為大於10.0.21300。0

    以下是範例程式碼片段:

    <Dependencies>
        <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.21301.0" />
    </Dependencies>
    

注意

如果您要執行 shell 擴充功能,而不是使用舊版ICoNtextMenu執行封裝現有的傳統型應用程式,我們建議您改為使用desktop4: FileExplorerCoNtextMenus來執行IExplorerCommand介面。 如需詳細資訊,請參閱 這裡