Condividi tramite


Supportare i menu di scelta rapida legacy per le app in pacchetto

Il menu di scelta rapida è una delle estensioni della shell più diffuse e utili. Se si è già in Esplora file o sul desktop, riduce significativamente il numero di passaggi per completare un'operazione di file rispetto all'apertura di un'app separata.

Se l'app desktop implementa l'interfaccia IContextMenu legacy per le estensioni della shell, ad esempio il gestore del menu di scelta rapida o il gestore di trascinamento della selezione, l'estensione della shell potrebbe non funzionare dopo il pacchetto dell'app. Per consentire alla shell di riconoscere e registrare l'estensione, è necessario modificare il file manifesto del pacchetto. Questa funzionalità è disponibile in Windows 11 build 22000+, attualmente disponibile tramite Build di Windows Insider )

  • Aggiungere lo spazio dei nomi com e l'estensione windows.comServer per la dll shellex

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

    Di seguito è riportato un frammento di codice di esempio:

    <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>
    
  • Aggiungere lo spazio dei nomi desktop9 e l'estensione windows.fileExplorerClassicContextMenuHandler o windows.fileExplorerClassicDragDropContextMenuHandler

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

    Di seguito è riportato un frammento di codice di esempio:

    <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>
    
  • Modificare MaxVersionTested in modo che sia maggiore di 10.0.21300.0

    Di seguito è riportato un frammento di codice di esempio:

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

Nota

Se si implementano estensioni della shell invece di creare pacchetti di un'app desktop esistente con l'implementazione legacy di IContextMenu , è consigliabile implementare l'interfaccia IExplorerCommand e usare invece desktop4:FileExplorerContextMenus . Per altre informazioni, vedere qui .