Je ne vais pas suggérer de solution dans ma réponse, car le mieux que vous puissiez faire sans outils tiers est probablement la réponse de PIMP_JUICE_IT (bien que cette réponse ajoute simplement un nouveau verbe supplémentaire et qu'elle n'a rien à voir avec Windows "Ouvrir avec "fonctionnalité et doit être nommé en conséquence).
Je vais cependant essayer d'expliquer les détails techniques de ce qui se passe et pourquoi:
Le sous-menu "Ouvrir avec" est implémenté comme une extension de shell IContextMenu et est enregistré sous HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
. Lorsque vous cliquez avec le bouton droit sur un ou plusieurs éléments dans un dossier de shell, le shell examine différentes clés sous HKEY_CLASSES_ROOT
pour créer le menu. Les entrées sous ...\shellex\ContextMenuHandlers
sont dynamiques et exécutent le code informatique réel qui détermine le nombre d'éléments de menu à ajouter (le cas échéant).
Il semble que Microsoft ait codé l'extension "Ouvrir avec" pour n'ajouter le sous-menu que lorsque vous sélectionnez un seul fichier, à une exception près; plusieurs raccourcis (.lnk) peuvent être sélectionnés et vous obtiendrez toujours le sous-menu (au moins sur ma machine Windows 8). Je vais sortir sur un membre et dire que la gestion des raccourcis est un bug.
Il n'y a aucune raison technique pour laquelle le menu ne pouvait pas fonctionner pour plusieurs fichiers et, en fait, il fonctionnait très bien sous Windows XP:
Je suppose que la principale raison pour laquelle ils l'ont supprimé est; que faites-vous lorsque l'utilisateur sélectionne des fichiers de différents types? Cependant, il existe déjà un précédent à cet égard; vous pouvez sélectionner des fichiers de différents types et appuyez sur Entrée pour les ouvrir tous. Lorsque vous faites cela, le shell utilise simplement l'action associée à l'élément qui a le rectangle de focus.
Il serait possible pour un éditeur de logiciels tiers de créer un menu similaire qui fonctionne pour plusieurs fichiers. La seule restriction est que l'élément "Choisir une autre application" / "Choisir le programme par défaut" au bas du menu devrait probablement être désactivé lorsqu'il y a plusieurs fichiers car la manière officielle d'invoquer cette boîte de dialogue ne prend en charge qu'un seul chemin de fichier. Pour remplir le menu, il suffit d'utiliser SHAssocEnumHandlers pour créer une liste d'applications disponibles pour le type de fichier spécifié.
C'est un cas si particulier que personne n'a passé trop de temps à réimplémenter l'extension "Ouvrir avec" juste pour prendre en charge plusieurs fichiers même s'il serait techniquement possible de le faire ...