Non suggerirò una soluzione nella mia risposta poiché il meglio che puoi fare senza strumenti di terze parti è probabilmente la risposta di PIMP_JUICE_IT (sebbene quella risposta stia semplicemente aggiungendo un nuovo verbo supplementare e non ha nulla a che fare con Windows "Apri con "funzionalità e dovrebbe essere nominato di conseguenza).
Cercherò comunque di spiegare i dettagli tecnici su cosa sta succedendo e perché:
Il sottomenu "Apri con" è implementato come estensione della shell IContextMenu ed è registrato sotto HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
. Quando si fa clic con il pulsante destro del mouse su uno o più elementi in una cartella della shell, la shell esamina le varie chiavi sotto HKEY_CLASSES_ROOT
per creare il menu. Le voci sotto ...\shellex\ContextMenuHandlers
sono dinamiche ed eseguono il codice del computer effettivo che determina quante voci di menu aggiungere (se presenti).
Sembra che Microsoft abbia codificato l'estensione "Apri con" per aggiungere il sottomenu solo quando si seleziona un singolo file, con un'eccezione; è possibile selezionare più scorciatoie (.lnk) e si otterrà comunque il sottomenu (almeno sul mio computer con Windows 8). Esco con un arto e dico che la gestione dei collegamenti è un bug.
Non esiste alcun motivo tecnico per cui il menu non possa funzionare per più file e in effetti funzionava perfettamente su Windows XP:
Immagino che il motivo principale per cui l'hanno rimosso sia; cosa fai quando l'utente seleziona file di diverso tipo? Tuttavia, esiste già un precedente per questo; puoi selezionare file di diverso tipo e premere invio per aprirli tutti. Quando lo fai, la shell usa solo l'azione associata all'elemento che ha il rettangolo di attivazione.
Sarebbe possibile per un fornitore di software di terze parti creare un menu simile che funzioni per più file. L'unica limitazione è che la voce "Scegli un'altra app" / "Scegli programma predefinito" nella parte inferiore del menu dovrebbe probabilmente essere disabilitata quando ci sono più file perché il modo ufficiale di invocare quella finestra di dialogo supporta solo un percorso di file singolo. Per riempire il menu, utilizzare semplicemente SHAssocEnumHandlers per creare un elenco di applicazioni disponibili per il tipo di file specificato.
Questo è un caso così grave che nessuno ha speso del tempo per implementare nuovamente l'estensione "Apri con" solo per supportare più file anche se sarebbe tecnicamente possibile farlo ...