Comment ajouter un élément au menu contextuel lorsque vous ne sélectionnez PAS un dossier ou un fichier? [dupliquer]

8

Comment ajouter un élément de menu à mon menu contextuel pour ouvrir PowerShell (ou toute autre application arbitraire) lorsque je clique avec le bouton droit dans l'Explorateur Windows?

J'ai trouvé des tonnes de liens sur la façon d'ajouter des éléments de menu en faisant cela: (sélection d'un dossier; exemple de lien )

clic droit sur un dossier

... mais je n'ai trouvé aucune instruction sur la façon d'ajouter des éléments de menu lors de cette opération: (ne pas sélectionner un dossier ou un fichier)

pas un clic droit sur quoi que ce soit

J'ai trouvé cela et j'ai essayé d'ajouter PowerShell à HKEY_CLASSES_ROOT\Directory\Background\shell\(vaguement basé sur les instructions que j'ai trouvées et liées ci-dessus) mais cela n'a pas fonctionné pour moi.

J'utilise Windows 7, soit dit en passant. De plus, je suis actuellement intéressé à ajouter uniquement PowerShell, mais je préférerais une solution générale que je peux appliquer pour ajouter n'importe quel programme au menu contextuel.

Michael0x2a
la source

Réponses:

5

Pas:

  1. Enregistrez ce code dans un fichier appelé 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 votre dossier Windows ne l' est pasC:\WINDOWS , modifiez le script en conséquence. Assurez-vous d'utiliser des barres obliques inverses doubles.

  3. Double-cliquez powershell.reg.

  4. Lorsqu'on vous demande si vous êtes sûr, cliquez sur Yes.

  5. Cliquez OK.

Voici le résultat:

capture d'écran

Cela fonctionne, bien sûr, pour n'importe quel programme. Remplacez simplement chaque occurrence de Powershellet le chemin complet de powershell.exepar, par exemple, Windows Calculatoret C:\\WINDOWS\\system32\\calc.exe.

Dennis
la source
5

Le processus de base est exactement comme Dennis l'a décrit dans sa réponse .

L'ajout que je dois faire vous permet de personnaliser l'icône affichée pour le menu et également de spécifier le placement de l'élément dans le menu contextuel.

Icône du menu contextuel

  1. Ajoutez une entrée Icon String Value sous la HKEY_CLASSES_ROOT\Directory\Background\shell\PowerShellclé.
  2. Spécifiez le chemin d'accès à l'icône de l'élément.

Position de l'élément de menu

  1. Ajoutez une entrée Position String Value sous la HKEY_CLASSES_ROOT\Directory\Background\shell\Powershellclé.
  2. Spécifiez Toppour placer l'élément en haut du menu ou Bottompour le placer en bas du menu.

Voici un script de registre des procédures que j'ai décrites ci-dessus. Collez-le dans le bloc-notes et enregistrez-le sous le nom powershell.reg (ou autre chose mais avec l' extension .reg ). Importez-le ensuite dans le registre de votre système pour ajouter l'élément de menu.

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 vous vous sentez assez geek et que vous souhaitez mettre plusieurs programmes dans un menu en cascade, vous pouvez suivre les instructions ici .

Alex Essilfie
la source
J'essaie de faire la même chose, le problème est le même que dans l'image de la question ci-dessus, le chemin du fichier montre qu'il s'agit d'une "bibliothèque" et ces ajouts au registre semblent fonctionner uniquement dans un dossier auquel la "bibliothèque" n'a pas accès. ... des idées pour le faire fonctionner avec la bibliothèque dans le chemin du fichier?
JasonDavis
@JasonDavis: Remplacer Directorydans HKEY_CLASSES_ROOT\Directory\Backgroundavec LibraryFolder( c. -à- : [HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Powershell] et [HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Powershell\command]). Le reste du processus est le même.
Alex Essilfie
@AlexEssilfie Grande trouvaille sur la Positionvaleur! Je modifie le registre depuis des années et je ne l'ai jamais rencontré. Comment l'avez-vous rencontré et connaissez-vous des ressources répertoriant toutes les valeurs possibles similaires pour les menus contextuels? J'apprécierais vraiment.
Hashim
3

Ressusciter cela dans un souci d'exhaustivité, car je viens de le faire lors de la réinstallation de ma machine.

[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 première clé de registre correspond au clic droit sur un dossier et la deuxième clé de registre correspond à un clic droit sans rien sélectionner.

dcga
la source