Option im Explorer-Kontextmenü hinzufügen
-
Moinsen. Ich hätte gerne folgende Funktionalität bei meinem Windows XP: Wenn man im Explorer einen Rechtsklick auf einen Ordner durchführt, soll im Kontextmenü eine Option "Konsole mit diesem Ordner öffnen" (oder so ähnlich) existieren. Wenn man dann darauf klickt, soll die Konsole geöffnet werden, und zwar so, dass das Promt den Pfad anzeigt, zu dem der Ordner gehört, auf den man gerade geklickt hat.
Kennt jemand von euch ein Programm, welches diese Funktionalität auf meinem System installiert? Wenn nicht, würde ich das gerne selber programmieren und hätte von euch gerne Denkanstöße in diese Richtung. Ich habe nämlich nicht die geringste Ahnung, wie ich das realisieren könnte. Danke schonmal.
-
-
LOL, danke. Habs aber gerade selbst hinbekommen. Wen es interessiert, es geht so:
Zuerst schreibt man eine kleine Anwendung mit folgendem Code:
#include <windows.h> WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { int i; lpCmdLine = lpCmdLine + 1; i = lstrlen(lpCmdLine); lpCmdLine[i-1] = NULL; ShellExecute(NULL, "open", "cmd", NULL, lpCmdLine, SW_SHOW); return 0; }Dann geht man in die Registrierung (regedit.exe) und fügt einen Schlüssel
HKEY_CLASSES_ROOT\Folder\shell\Konsole mit diesem Ordner öffnen\command
hinzu. Den Standard-Wert unter diesem Schlüssel belegt man mit
"[Pfad zur obigen Anwendung]" "%1".
Bei mir ist das
"D:\C++\Projekte\OpenConsole\OpenConsole.exe" "%1".
Fertig.

-
Wozu das Programm?
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Drive\shell\cmd] @="&Prompt here" "NoWorkingDirectory"="" [HKEY_CLASSES_ROOT\Drive\shell\cmd\command] @="cmd.exe /s /k pushd \"%V\""cheers, Swordfish
-
Swordfish schrieb:
Wozu das Programm?
Weil deins nicht funktioniert.

-
WebFritzi schrieb:
Swordfish schrieb:
Wozu das Programm?
Weil deins nicht funktioniert.

Der Eintrag, den Swordfish Dir gegeben hat, ist für ein Laufwerk.
Änderst Du Drive in Directory geht es. Folder hat IMHO einen anderen Zweck.Dein Programm barucht man dafür nicht. 4NT macht es ganauso.
In Vista brauchst Du das gar nicht.
http://blog.m-ri.de/index.php/2008/01/14/zusaetzliche-befehle-im-explorer-kontextmenue-von-vista/
http://blog.m-ri.de/index.php/2008/02/11/vista-wie-man-den-kontextmenuebefehl-eingabeaufforderung-hier-oeffnen-umbiegen-kann/
http://blog.m-ri.de/index.php/2008/02/13/vista-wie-man-den-kontextmenuebefehl-eingabeaufforderung-hier-oeffnen-auf-die-powershell-umbiegen-kann/
-
WebFritzi schrieb:
Swordfish schrieb:
Wozu das Programm?
Weil deins nicht funktioniert.

Witzkeks

Hab' mich nur im Registry-Irrgarten verlaufen. Du willst den Eintrag wahrscheinlich sowieso für Folder und Drive...
cheers, Swordfish
-
Kann ja sein, dass ich das Programm nicht brauche, aber es funktioniert. Auch mit Laufwerken. "Folder" scheint Vereichnisse und Laufwerke abzudecken. Zusätzlich scheint es "Drive" und "Directory" zu überschreiben, denn füge ich Swordfishs Änderungen in meine Registry ein, erscheint im Kontextmenu kein "Prompt here".
Jetzt wäre eines noch toll: Wenn man in einem Explorer-Fenster ist und dort auf nichts rechtsklickt, erscheint ja auch ein Kontextmenu (Einfügen etc.). Dort würde ich auch gern eine solche Option einfügen. Weiß jemand Rat?
-
Wahrscheinlich hast Du's selbst schon rausbekommen, aber nochmal für alle Fälle:
Die KlasseDirectorygilt für alle "File Folders", dh. für alles, wo irgendwie Dateien enthalten sind. Somit reichtWindows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\prompt] @="&Prompt here" [HKEY_CLASSES_ROOT\Directory\shell\prompt\command] @="cmd.exe /s /k pushd \"%V\""Für das Kontextmenü des Ordnerhintergrunds ist
Directory\Backgroundzuständig:Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\prompt] @="&Prompt here" [HKEY_CLASSES_ROOT\Directory\Background\shell\prompt\command] @="cmd.exe /s /k pushd \"%V\""cheers, Swordfish
-
Swordfish schrieb:
Für das Kontextmenü des Ordnerhintergrunds ist
Directory\Backgroundzuständig:Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\prompt] @="&Prompt here" [HKEY_CLASSES_ROOT\Directory\Background\shell\prompt\command] @="cmd.exe /s /k pushd \"%V\""Das klappt bei mir nicht. Es kommt kein Menu-Item hinzu.
Desweiteren gibt es unter "Background" kein "shell" - nur "shellex".
-
Ouch. Dann ist
Directory\Background\Shellwohl neu in Vista
Bleibt wohl keine andere Möglichkeit, als einen Context Menu Handler zu schreiben... obs das Wert ist?
cheers, Swordfish