reparar quitar opciones modificar menú editar easy derecho contextual context configurar como clic carpetas agregar contextmenu explorer

contextmenu - quitar - modificar menú contextual



Cómo agregar elementos del menú contextual al Explorador de Windows para carpetas (3)

Descubrí cómo agregar elementos del menú contextual con el 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 contra ese archivo.

Me gustaría hacer lo mismo para una carpeta y no he encontrado la manera de hacerlo (todavía). Veo artículos sobre cómo crear / escribir manejadores de menús contextuales personalizados, pero prefiero no ir allí.

He encontrado un artículo here sobre cómo agregar elementos de menú de contexto 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 hacerlo sin escribir un controlador de menú contextual?


Menú contextual para hacer clic derecho en las carpetas en el panel izquierdo del Explorador de Windows o en el fondo de un directorio en el panel derecho:

  1. HKEY_CLASSES_ROOT / Directory / Background / shell si eres administrador
  2. HKEY_CURRENT_USER / Software / Classes / directory / Background / shell si eres un usuario normal

Menú contextual para hacer clic con el botón derecho en las carpetas en el panel derecho del Explorador de Windows:

  1. HKEY_CLASSES_ROOT / Directory / shell si eres administrador
  2. HKEY_CURRENT_USER / Software / Classes / directory / shell si eres un usuario normal

Menú de contexto para cualquier archivo:

  1. HKEY_CLASSES_ROOT / * / shell si eres administrador
  2. HKEY_CURRENT_USER / Software / Classes / * / shell si eres un usuario normal

En todos los casos:

  1. agregue una nueva clave debajo de "shell", nómbrelo como quiera nombrar el elemento del menú contextual
  2. agregue una nueva clave dentro de esta clave, llamada comando (nombre obligatorio)
  3. edite la propiedad "default" en "command" en myprogrampath / path / path / executable.exe% 1 para pasar la ruta del archivo y el nombre del archivo seleccionado a su programa personalizado

Más personalización:

  • Agregar icono : agrega un valor de cadena llamado icon para la clave creada en el paso 1 con un valor que coincide con una ruta de recursos de icono. También puede proporcionar un número entero de argumentos para especificar qué icono usar. Ejemplo: %SystemRoot%/System32/shell32.dll,3
  • Mostrar solo al presionar la tecla Mayúsculas: agrega un valor de cadena vacío llamado Extended para la clave creada en el paso 1
  • Etiqueta de entrada de menú personalizada : cambie el valor del valor predeterminado para la clave creada en el paso 1
  • Cambiar la ubicación de entrada del menú : agrega un valor de cadena denominado Position con uno de los siguientes: Top , Bottom


Volví y también respondí esto en otro topic ya que no parece haber mucho en esta pregunta específicamente.

Descubrí que la forma más simple era agregar un Valor de cadena a la clave llamada "Aplicado a" y establecer su valor a "bajo: {ruta de acceso}"

En mi ejemplo, quiero que solo se vea en la unidad T, por lo que mi valor String es "Aplica a": "debajo de: T:".

En C #, esto se logra fácilmente con lo siguiente:

RegistryKey _key = Registry.ClassesRoot.OpenSubKey("Folder//Shell", true); RegistryKey newkey = _key.CreateSubKey("My Menu Item"); newkey.SetValue("AppliesTo", "under:T:"); RegistryKey subNewkey = newkey.CreateSubKey("Command"); subNewkey.SetValue("", "C://yourApplication.exe"); subNewkey.Close(); newkey.Close(); _key.Close();