Wie füge ich ein Element zum Kontextmenü hinzu, wenn ich KEINEN Ordner oder keine Datei auswähle? [Duplikat]

8

Wie füge ich meinem Kontextmenü einen Menüeintrag hinzu, um Powershell (oder eine andere beliebige Anwendung) zu öffnen, wenn ich mit der rechten Maustaste in Windows Explorer klicke?

Ich habe unzählige Links zum Hinzufügen von Menüelementen gefunden: (Auswahl eines Ordners; Beispiellink )

Klicken Sie mit der rechten Maustaste auf einen Ordner

... konnte jedoch keine Anweisungen zum Hinzufügen von Menüelementen finden: (kein Ordner oder keine Datei auswählen)

nicht mit der rechten Maustaste klicken

Ich habe dies gefunden und versucht, Powershell hinzuzufügen HKEY_CLASSES_ROOT\Directory\Background\shell\(lose basierend auf den Anweisungen, die ich oben gefunden und verlinkt habe), aber es hat bei mir nicht funktioniert.

Ich verwende übrigens Windows 7. Außerdem bin ich derzeit daran interessiert, nur PowerShell hinzuzufügen, aber ich würde eine allgemeine Lösung bevorzugen, die ich anwenden kann, um ein beliebiges Programm zum Kontextmenü hinzuzufügen.

Michael0x2a
quelle

Antworten:

5

Schritte:

  1. Speichern Sie diesen Code in einer Datei mit dem Namen 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. Wenn Ihr Windows-Ordner nicht vorhanden ist C:\WINDOWS , ändern Sie das Skript entsprechend. Stellen Sie sicher, dass Sie doppelte Backslashes verwenden.

  3. Doppelklicken Sie powershell.reg.

  4. Wenn Sie gefragt werden, ob Sie sicher sind, klicken Sie auf Yes.

  5. Klicken Sie auf OK.

Das ist das Ergebnis:

Bildschirmfoto

Dies funktioniert natürlich für jedes Programm. Ersetzen Sie einfach jedes Vorkommen von Powershellund den vollständigen Weg von powershell.exeby, z . B. Windows Calculatorund C:\\WINDOWS\\system32\\calc.exe.

Dennis
quelle
5

Der grundlegende Prozess ist genau so, wie Dennis es in seiner Antwort beschrieben hat .

Der Zusatz, den ich vornehmen muss, ermöglicht es Ihnen, das für das Menü angezeigte Symbol anzupassen und auch die Platzierung des Elements im Kontextmenü festzulegen.

Kontextmenüsymbol

  1. Fügen Sie unter dem Schlüssel einen Icon String Value-Eintrag hinzu HKEY_CLASSES_ROOT\Directory\Background\shell\PowerShell.
  2. Geben Sie den Pfad zum Symbol für das Element an.

Position des Menüpunktes

  1. Fügen Sie unter dem Schlüssel einen Eintrag für den Positionszeichenfolgenwert hinzuHKEY_CLASSES_ROOT\Directory\Background\shell\Powershell .
  2. Geben Sie Topan, dass das Element oben im Menü oder Bottomunten im Menü platziert werden soll.

Unten finden Sie ein Registrierungsskript der oben beschriebenen Verfahren. Fügen Sie es in den Editor ein und speichern Sie es als Powershell.reg (oder etwas anderes als mit der Erweiterung .reg ). Importieren Sie es dann in Ihre Systemregistrierung, um den Menüpunkt hinzuzufügen.

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"

Wenn Sie sich geeky genug fühlen und mehrere Programme in ein Kaskadenmenü einfügen möchten, können Sie den Anweisungen hier folgen .

Alex Essilfie
quelle
Ich versuche das Gleiche zu tun. Das Problem ist, wie im Bild in der obigen Frage, der Dateipfad zeigt, dass es sich um eine "Bibliothek" handelt, und diese Registrierungszusätze scheinen nur zu funktionieren, wenn sie sich in einem Ordner befinden, auf den "Bibliothek" nicht zugreift. ... irgendwelche Ideen, wie es funktioniert, wenn sich die Bibliothek im Dateipfad befindet?
JasonDavis
@JasonDavis: Ersetzen Sie Directoryin HKEY_CLASSES_ROOT\Directory\Backgroundmit LibraryFolder( dh: [HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Powershell] und [HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Powershell\command]). Der Rest des Prozesses ist der gleiche.
Alex Essilfie
@AlexEssilfie Toller Fund auf den PositionWert! Ich habe die Registrierung jahrelang bearbeitet und bin nie darauf gestoßen. Wie sind Sie darauf gestoßen, und kennen Sie Ressourcen, in denen alle ähnlichen möglichen Werte für Kontextmenüs aufgeführt sind? Würde es wirklich schätzen.
Hashim
3

Dies der Vollständigkeit halber wiederbeleben, da ich dies gerade durchlaufen habe, während ich meine Maschine neu installiert habe.

[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'"

Der erste Registrierungsschlüssel dient zum Klicken mit der rechten Maustaste auf einen Ordner, und der zweite Registrierungsschlüssel entspricht dem Klicken mit der rechten Maustaste, während nichts ausgewählt wird.

dcga
quelle