He descubierto cómo agregar elementos del menú contextual del botón derecho a los archivos en el Explorador de Windows, agregando claves al registro. Es decir, puedo hacer clic derecho en un archivo en el Explorador y ejecutar una aplicación personalizada en ese archivo.
Me gustaría hacer lo mismo con una carpeta y no he encontrado la manera de hacerlo (todavía). Veo artículos sobre cómo crear / escribir controladores de menús contextuales personalizados, pero prefiero no ir allí.
He encontrado un artículo aquí sobre cómo agregar elementos de menú contextual en cascada al escritorio y al "Equipo" en el Explorador, pero esto no funciona para ninguna carpeta.
Me gustaría poder agregar mi aplicación personalizada al menú contextual y hacer que funcione tanto en archivos como en carpetas. ¿Hay alguna forma de hacer esto sin escribir un controlador de menú contextual?
Encontré la solución en el siguiente artículo, que describe cómo hacer esto a través del registro de archivos, así como de carpetas:
Los dos artículos siguientes proporcionaron información y opciones adicionales:
fuente
Respuestas:
En el editor de registro (
regedit.exe
) busque:Menú contextual para hacer clic derecho en carpetas en el panel izquierdo del Explorador de Windows o en el fondo de un directorio en el panel derecho:
HKEY_CLASSES_ROOT\Directory\Background\shell
si eres administradorHKEY_CURRENT_USER\Software\Classes\directory\Background\shell
si eres un usuario normalMenú contextual para hacer clic derecho en carpetas en el panel derecho del Explorador de Windows:
HKEY_CLASSES_ROOT\Directory\shell
si eres administradorHKEY_CURRENT_USER\Software\Classes\directory\shell
si eres un usuario normalMenú contextual para cualquier archivo:
HKEY_CLASSES_ROOT\*\shell
si eres administradorHKEY_CURRENT_USER\Software\Classes\*\shell
si eres un usuario normalEn todos los casos:
shell
, nombrándola como desea nombrar el elemento del menú contextualcommand
(nombre obligatorio)default
propiedad encommand
paramyprogrampath\path\path\executable.exe %1
pasar la ruta del archivo y el nombre del archivo seleccionado a su programa personalizadoMás personalización:
icon
de la clave creada en el paso 1 con un valor que coincida con una ruta de recurso de icono. También puede proporcionar argumentos enteros para especificar qué icono utilizar. Ejemplo:%SystemRoot%\System32\shell32.dll,3
Extended
de la clave creada en el paso 1Position
con uno de:Top
,Bottom
fuente
HKEY_CLASSES_ROOT\Directory\Background\shell
solo puede afectar el clic derecho en el fondo de un directorio"%1"
en caso de que la ruta tenga espacios.Command
, ¿ verdad ?%1
por%V
.Volví y también respondí esto en otro tema, ya que no parece haber mucho sobre esta pregunta específicamente.
Encontré que la forma más sencilla era agregar un valor de cadena a la clave llamada "AppliesTo" y establecer su valor en "debajo: {ruta}"
En mi ejemplo, quiero que solo se vea en la unidad T, por lo que mi valor de cadena es "AppliesTo": "under: T:".
En C #, esto se logra fácilmente con lo siguiente:
fuente
Encontré una solución más limpia, fácil y rápida: cree un archivo de texto, llénelo con estos contenidos, actualícelo a sus necesidades, guárdelo con el sufijo .reg y ejecútelo (no necesita privilegios de administrador porque accede a la parte del usuario del registro ):
De esta manera también puede tener una copia de seguridad de su configuración: simplemente guarde el archivo .reg en un lugar seguro. Si edita manualmente el registro después de iniciar el archivo, haga clic con el botón derecho y seleccione "exportar".
Tenga cuidado con los retrocesos dobles en la ruta: \\
fuente
La única buena solución que encontré que realmente funciona es: /superuser/1097054/shell-context-menu-registry-extension-doesnt-work-when-default-program-is-other
Agregue claves en HKEY_CLASSES_ROOT \ SystemFileAssociations \ your.extension \ shell \ command Modifique la última clave con el comando que desea hacer.
Para mi propósito fue:
Si lo exporto, obtengo un .reg:
fuente
Abra el símbolo del sistema [ejecutar como administrador] y ejecute este comando
Para obtener más detalles sobre más funciones, ejecute: -
fuente