Ich habe herausgefunden, wie man Dateien im Windows Explorer Kontextmenüelemente mit der rechten Maustaste hinzufügt, indem man der Registrierung Schlüssel hinzufügt. Das heißt, ich kann mit der rechten Maustaste auf eine Datei im Explorer klicken und eine benutzerdefinierte App für diese Datei ausführen.
Ich möchte dasselbe für einen Ordner tun und habe (noch) keinen Weg gefunden, dies zu tun. Ich sehe Artikel zum Erstellen / Schreiben von benutzerdefinierten Kontextmenü-Handlern, aber ich würde lieber nicht dorthin gehen.
Ich habe hier einen Artikel darüber gefunden, wie man kaskadierende Kontextmenüelemente zum Desktop und zum "Computer" im Explorer hinzufügt, aber dies funktioniert für keinen Ordner.
Ich möchte meine benutzerdefinierte App zum Kontextmenü hinzufügen und sie sowohl für Dateien als auch für Ordner verwenden können. Gibt es eine Möglichkeit, dies zu tun, ohne einen Kontextmenü-Handler zu schreiben?
Die Lösung habe ich im folgenden Artikel gefunden, in dem beschrieben wird, wie dies über die Registrierung für Dateien sowie für Ordner erfolgt:
Die folgenden zwei Artikel enthielten zusätzliche Informationen und Optionen:
quelle
Antworten:
Im Registrierungseditor (
regedit.exe
) finden Sie:Kontextmenü für Rechtsklick auf Ordner im linken Bereich des Windows Explorers oder auf den Hintergrund eines Verzeichnisses im rechten Bereich:
HKEY_CLASSES_ROOT\Directory\Background\shell
Wenn Sie Administrator sindHKEY_CURRENT_USER\Software\Classes\directory\Background\shell
wenn Sie ein normaler Benutzer sindKontextmenü für Rechtsklick auf Ordner im rechten Bereich des Windows Explorers:
HKEY_CLASSES_ROOT\Directory\shell
Wenn Sie Administrator sindHKEY_CURRENT_USER\Software\Classes\directory\shell
wenn Sie ein normaler Benutzer sindKontextmenü für jede Datei:
HKEY_CLASSES_ROOT\*\shell
Wenn Sie Administrator sindHKEY_CURRENT_USER\Software\Classes\*\shell
wenn Sie ein normaler Benutzer sindAuf alle Fälle:
shell
und benennen Sie ihn so, wie Sie den Kontextmenüpunkt benennen möchtencommand
(obligatorischer Name) ein.default
Eigenschaft incommand
,myprogrampath\path\path\executable.exe %1
um den Dateipfad und den Namen der ausgewählten Datei an Ihr benutzerdefiniertes Programm zu übergebenWeitere Anpassungen:
icon
für den in Schritt 1 erstellten Schlüssel benannt ist und dessen Wert einem Symbolressourcenpfad entspricht. Sie können auch ganzzahlige Argumente angeben, um anzugeben, welches Symbol verwendet werden soll. Beispiel:%SystemRoot%\System32\shell32.dll,3
Extended
bei gedrückter Umschalttaste anzeigen : Fügt einen leeren Zeichenfolgenwert hinzu, der nach dem in Schritt 1 erstellten Schlüssel benannt istPosition
:Top
, hinzu.Bottom
quelle
HKEY_CLASSES_ROOT\Directory\Background\shell
kann nur Rechtsklick auf den Hintergrund eines Verzeichnisses beeinflussen"%1"
Fall sein, dass der Pfad Leerzeichen enthält.Command
, oder?%1
durch behoben werden%V
.Ich ging zurück und beantwortete dies auch in einem anderen Thema, da es zu dieser Frage nicht viel zu geben scheint.
Ich fand es am einfachsten, dem Schlüssel "AppliesTo" einen String-Wert hinzuzufügen und seinen Wert auf "under: {path}" zu setzen.
In meinem Beispiel soll es nur im T-Laufwerk angezeigt werden, daher lautet mein String-Wert "AppliesTo": "under: T:".
In C # ist dies leicht mit folgendem zu erreichen:
quelle
Eine sauberere, einfachere und schnellere Lösung gefunden: Erstellen Sie eine Textdatei, füllen Sie sie mit diesen Inhalten, aktualisieren Sie sie nach Ihren Wünschen, speichern Sie sie mit dem Suffix .reg und starten Sie sie (es sind keine Administratorrechte erforderlich, da auf den Benutzerteil der Registrierung zugegriffen wird ):
Auf diese Weise können Sie auch eine Sicherungskopie Ihrer Konfiguration erstellen: Speichern Sie die REG-Datei einfach an einem sicheren Ort. Wenn Sie die Registrierung nach dem Starten der Datei manuell bearbeiten, klicken Sie mit der rechten Maustaste und wählen Sie "Exportieren".
Achten Sie auf doppelte Backspaces im Pfad: \\
quelle
Die einzig gute Lösung, die ich wirklich gefunden habe, ist: /superuser/1097054/shell-context-menu-registry-extension-doesnt-work-when-default-program-is-other
Hinzufügen von Schlüsseln in HKEY_CLASSES_ROOT \ SystemFileAssociations \ your.extension \ shell \ command Ändern Sie den letzten Schlüssel mit dem Befehl, den Sie ausführen möchten .
Für meinen Zweck war es:
Wenn ich es exportiere, bekomme ich eine .reg:
quelle
Öffnen Sie die Eingabeaufforderung [als Administrator ausführen] und führen Sie diesen Befehl aus
Weitere Informationen zu weiteren Funktionen finden Sie unter: -
quelle