Problema con el menú en cascada y las listas de salto del Explorador de archivos en Windows 10

2018-10-09 13:45:40
Principal·Microsoft·Problema con el menú en cascada y las listas de salto del Explorador de archivos en Windows 10

Cuando implementa Menús en cascada en carpetas de archivos (directorio) utilizando los subcomandos o las claves de registro de ExtendedSubCommands en Windows 10, sucede algo interesante. El último elemento en su menú en cascada se ejecuta cuando hace clic con el botón derecho en el acceso directo del Explorador de archivos anclados en la Barra de tareas y hace clic en una carpeta en la Lista de salto, en lugar de abrir una ventana de carpeta.

( Este error se informó por primera vez en el foro de respuestas de Microsoft, y puede ver mi respuesta allí. Como lo informaron otros dos usuarios más tarde, decidí escribir una publicación de blog sobre esto ) .

Ejemplo de archivo REG para reproducir el problema

Copie el siguiente contenido en el Bloc de notas, guárdelo como "mymenu.reg" y ejecútelo.

Windows Registry Editor Version 5.00 
[HKEY_CLASSES_ROOT\directory\shell\CustomMenu] "Icon"="shell32.dll, 39" "MUIVerb"="MyMenu" "SubCommands"="" [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu1] "Icon"="c:\\windows\\system32\\cmd.exe, 0" @="Command Prompt" [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu1\command] @="cmd.exe \"%1\"" [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu2] "Icon"="c:\\windows\\system32\\cmd.exe, 0" @="Run Maintenance (Batch File)" [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu2\command] @="D:\\Tools\\maintenance.bat"

El menú en cascada se mostrará y funcionará perfectamente bien cuando haga clic derecho en una carpeta de archivos.

Error: El problema ocurre cuando hace clic con el botón derecho en el elemento Fijado del Explorador de archivos en la Barra de tareas y hace clic en una carpeta en el Jumplist. En lugar de abrir una ventana de carpeta, se ejecuta el último comando en el menú en cascada (en este ejemplo, "Ejecutar mantenimiento"). Esto es un error!

Solución # 1

La implementación del menú en cascada en "Carpetas" o "AllFileSystemObjects" clave de registro no debería causar este problema. Sin embargo, cuando se implementa en el área de registro Carpetas o AllFileSystemObjects, el menú se muestra para carpetas virtuales como Esta PC, Papelera de reciclaje, etc., así como para Carpetas y archivos comprimidos. Para evitar que aparezca para archivos, carpetas virtuales y carpetas comprimidas (comprimidas), agregue una marca creando el valor de AppliesTo REG_SZ en su menú en cascada.

Establezca los datos de valor de AppliesTo en:

 kind: carpeta de archivos Y System.FileExtension: ". zip" 

Configuraciones de registro revisadas

 Windows Registry Editor Version 5.00 
[HKEY_CLASSES_ROOT\Folder\shell\CustomMenu] "Icon"="shell32.dll, 39" "MUIVerb"="MyMenu" "SubCommands"="" "AppliesTo"="kind:file folder AND System.FileExtension:\".zip\"" [HKEY_CLASSES_ROOT\Folder\shell\CustomMenu\shell\menu1] "Icon"="c:\\windows\\system32\\cmd.exe, 0" @="Command Prompt" [HKEY_CLASSES_ROOT\Folder\shell\CustomMenu\shell\menu1\command] @="cmd.exe \"%1\"" [HKEY_CLASSES_ROOT\Folder\shell\CustomMenu\shell\menu2] "Icon"="c:\\windows\\system32\\cmd.exe, 0" @="Run Maintenance (Batch File)" [HKEY_CLASSES_ROOT\Folder\shell\CustomMenu\shell\menu2\command] @="D:\\Tools\\maintenance.bat"

Solución # 2

En el archivo REG de muestra en la parte superior del artículo, incluya un tercer comando de menú que inicia Explorer% 1.

 [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu3\command] 
@="explorer.exe \"%1\""

Pero siempre aparecerá en su menú en cascada. Cuando selecciona una carpeta en el Jumplist, se ejecuta este elemento (último en el menú).

La Elección Del Editor