¿Cómo agregar un elemento al menú contextual cuando NO se selecciona una carpeta o archivo? [duplicar]

8

¿Cómo agrego un elemento de menú a mi menú contextual para abrir powershell (o cualquier otra aplicación arbitraria) cuando hago clic derecho dentro del Explorador de Windows?

Encontré toneladas de enlaces sobre cómo agregar elementos de menú al hacer esto: (seleccionando una carpeta; enlace de ejemplo )

clic derecho en una carpeta

... pero no pude encontrar instrucciones sobre cómo agregar elementos de menú al hacer esto: (sin seleccionar una carpeta o archivo)

sin hacer clic derecho en nada

Encontré esto e intenté agregar powershell a HKEY_CLASSES_ROOT\Directory\Background\shell\(basado libremente en las instrucciones que encontré y vinculado anteriormente) pero no funcionó para mí.

Estoy ejecutando Windows 7, por cierto. Además, actualmente estoy interesado en agregar solo PowerShell, pero preferiría una solución general que pueda aplicar para agregar cualquier programa al menú contextual.

Michael0x2a
fuente

Respuestas:

5

Pasos:

  1. Guarde este código en un archivo llamado powershell.reg:

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell]
    @="&Powershell"
    
    [HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell\command]
    @="C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
    
  2. Si su carpeta de Windows no lo es C:\WINDOWS, cambie la secuencia de comandos en consecuencia. Asegúrate de usar barras invertidas dobles.

  3. Haga doble clic powershell.reg.

  4. Cuando se le pregunte si está seguro, haga clic Yes.

  5. Haga clic OK.

Este es el resultado:

captura de pantalla

Esto funciona, por supuesto, para cualquier programa. Simplemente reemplace cada aparición de Powershelly la ruta completa de powershell.exepor, por ejemplo, Windows Calculatory C:\\WINDOWS\\system32\\calc.exe.

Dennis
fuente
5

El proceso básico es tal como Dennis describió en su respuesta .

La adición que debo hacer le permite personalizar el icono que se muestra para el menú y también especificar la ubicación del elemento en el menú contextual.

Ícono del menú contextual

  1. Agregue una entrada de valor de cadena de icono debajo de la HKEY_CLASSES_ROOT\Directory\Background\shell\PowerShellclave.
  2. Especifique la ruta al icono para el elemento.

Posición del elemento del menú

  1. Agregue una entrada de Valor de cadena de posición debajo de la HKEY_CLASSES_ROOT\Directory\Background\shell\Powershellclave.
  2. Especifique Topcolocar el elemento en la parte superior del menú o Bottomcolocarlo en la parte inferior del menú.

A continuación se muestra un script de registro de los procedimientos que describí anteriormente. Péguelo en el bloc de notas y guárdelo como powershell.reg (o cualquier otra cosa que no sea con la extensión .reg ). Luego impórtelo al registro de su sistema para agregar el elemento del menú.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell]
@="&Powershell"
"Icon"="C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
"Position"="Top"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell\command]
@="C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"

Si te sientes lo suficientemente geek y quieres poner varios programas en un menú en cascada, puedes seguir las instrucciones aquí .

Alex Essilfie
fuente
Estoy tratando de hacer lo mismo, el problema es como en la imagen de la pregunta anterior, la ruta del archivo muestra que es una "Biblioteca" y estas adiciones al Registro solo parecen funcionar cuando se encuentra en una carpeta a la que no accede "Biblioteca". ... alguna idea de cómo hacer que funcione con la Biblioteca en la ruta del archivo?
JasonDavis el
@JasonDavis: Reemplazar Directoryen HKEY_CLASSES_ROOT\Directory\Backgroundcon LibraryFolder( es decir: [HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Powershell] y [HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Powershell\command]). El resto del proceso es el mismo.
Alex Essilfie
@AlexEssilfie ¡Gran descubrimiento sobre el Positionvalor! He estado editando el registro durante años y nunca lo he encontrado. ¿Cómo lo encontraste y conoces algún recurso que enumere todos los valores posibles similares para el menú contextual relacionado? Realmente lo agradecería.
Hashim
3

Resucitar esto por completo, ya que acabo de pasar por esto mientras reinstalo mi máquina.

[HKEY_CLASSES_ROOT\Directory\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit cd '%1'"

[HKEY_CLASSES_ROOT\Directory\background\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit cd '%v'"

La primera clave de registro es para hacer clic derecho en una carpeta y la segunda clave de registro corresponde a hacer clic derecho sin seleccionar nada.

dcga
fuente