Stöd för äldre snabbmenyer för paketerade appar

Snabbmenyn är ett av de mest populära och användbara gränssnittstilläggen. Om du redan är i Utforskaren eller på skrivbordet minskar det avsevärt antalet steg för att slutföra en filåtgärd jämfört med att öppna en separat app.

Om din skrivbordsapp implementerar det äldre IContextMenu-gränssnittet för gränssnittstillägg, till exempel snabbmenyhanteraren eller dra och släpp-hanteraren, kanske inte shell-tillägget fungerar när du har paketera din app. För att shell ska kunna identifiera och registrera tillägget måste du ändra paketmanifestfilen. Den här funktionen är tillgänglig på Windows 11 version 21H2 (version 22000) och senare.

  • Lägg till com-namnområdet och windows.comServer-tillägget för din shellex-dll

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

    Nedan visas ett exempel på kodfragment:

    <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>
    
  • Lägg till desktop9-namnområdet och windows.fileExplorerClassicContextMenuHandler eller windows.fileExplorerClassicDragDropContextMenuHandler-tillägget

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

    Nedan visas ett exempel på kodfragment:

    <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>
    
  • Ändra MaxVersionTested till större än 10.0.21300.0

    Nedan visas ett exempel på kodfragment:

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

Anmärkning

Om du implementerar shell-tillägg i stället för att paketera en befintlig skrivbordsapp med äldre IContextMenu-implementering föreslår vi att du implementerar gränssnittet IExplorerCommand och använder desktop4:FileExplorerContextMenus i stället. Mer information finns här .