Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le menu contextuel est l’une des extensions d’interpréteur de commandes les plus populaires et utiles. Si vous êtes déjà dans l’Explorateur de fichiers ou sur le Bureau, cela réduit considérablement le nombre d’étapes pour effectuer une opération de fichier par rapport à l’ouverture d’une application distincte.
Si votre application de bureau implémente l’interface IContextMenu héritée pour les extensions d’interpréteur de commandes telles que le gestionnaire de menus contextuels ou le gestionnaire de glisser-déplacer, l’extension shell peut ne pas fonctionner après avoir empaquetée votre application. Pour que l’interpréteur de commandes reconnaisse et inscrive l’extension, vous devez modifier le fichier manifeste du package. (Cette fonctionnalité est disponible sur windows 11 build 22000+, qui est actuellement disponible via les builds Windows Insider )
Ajoutez un espace de noms COM et une extension windows.comServer pour votre DLL shellex
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"Voici un exemple d’extrait de code :
<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>Ajoutez l’espace de noms desktop9 et l’extension windows.fileExplorerClassicContextMenuHandler ou windows.fileExplorerClassicDragDropContextMenuHandler
xmlns:desktop9="http://schemas.microsoft.com/appx/manifest/desktop/windows10/9"Voici un exemple d’extrait de code :
<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>Modifier MaxVersionTested pour qu’il soit supérieur à 10.0.21300.0
Voici un exemple d’extrait de code :
<Dependencies> <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.21301.0" /> </Dependencies>
Remarque
Si vous implémentez des extensions shell au lieu d’empaqueter une application de bureau existante avec une implémentation IContextMenu héritée, nous vous suggérons d’implémenter l’interface IExplorerCommand et d’utiliser desktop4 :FileExplorerContextMenus à la place. Pour plus d’informations, reportez-vous ici .