No voy a sugerir una solución en mi respuesta ya que lo mejor que puede hacer sin herramientas de terceros es probablemente la respuesta de PIMP_JUICE_IT (aunque esa respuesta es simplemente agregar un nuevo verbo suplementario y no tiene nada que ver con Windows "Abrir con "y debe nombrarse en consecuencia).
Sin embargo, intentaré explicar los detalles técnicos sobre lo que está sucediendo y por qué:
El submenú "Abrir con" se implementa como una extensión de shell IContextMenu y se registra bajo HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
. Cuando hace clic con el botón derecho en uno o más elementos en una carpeta de shell, el shell mira varias teclas debajo HKEY_CLASSES_ROOT
para construir el menú. Las entradas debajo ...\shellex\ContextMenuHandlers
son dinámicas y ejecutan código de computadora real que determina cuántos elementos de menú agregar (si corresponde).
Parece que Microsoft codificó la extensión "Abrir con" para agregar solo el submenú cuando selecciona un solo archivo, con una excepción; Se pueden seleccionar varios accesos directos (.lnk) y aún obtendrá el submenú (al menos en mi máquina con Windows 8). Me arriesgaré y diré que el manejo del atajo es un error.
No hay ninguna razón técnica por la que el menú no pueda funcionar para varios archivos y, de hecho, solía funcionar bien en Windows XP:
Supongo que la razón principal por la que lo eliminaron es; ¿Qué haces cuando el usuario selecciona archivos de diferentes tipos? Sin embargo, ya hay un precedente para esto; puede seleccionar archivos de diferentes tipos y presionar enter para abrirlos todos. Cuando haces esto, el shell solo usa la acción asociada con el elemento que tiene el rectángulo de foco.
Es posible que un proveedor de software de terceros cree un menú similar que funcione para varios archivos. La única restricción es que el elemento "Elegir otra aplicación" / "Elegir programa predeterminado" en la parte inferior del menú probablemente tendría que deshabilitarse cuando hay varios archivos porque la forma oficial de invocar ese diálogo solo admite una única ruta de archivo. Para llenar el menú, simplemente usaría SHAssocEnumHandlers para crear una lista de aplicaciones que están disponibles para el tipo de archivo especificado.
Este es un caso tan extremo que nadie ha dedicado tiempo a volver a implementar la extensión "Abrir con" solo para admitir varios archivos, aunque técnicamente sería posible hacerlo ...