x64 und Context Menu - mal wieder
Moderators: white, Hacker, Stefan2
- Tahattmeruh
- Senior Member
- Posts: 232
- Joined: 2003-05-16, 13:35 UTC
x64 und Context Menu - mal wieder
Ich habe vor einiger Zeit auf dem Notebook Vista x64 installiert. Da ich dort den TC nicht so oft benutzt habe, war mir das Context Menu egal. Jetzt habe ich auf meinen Entwicklungsrechner auch Vista x64 und ich mußte nach 5 Minuten feststellen daß es unmöglich ist mit dem TC zu arbeiten weil viele Einträge fehlen.
Und kommt jetzt bitte nicht mit tausend Links. Die hab ich alle gelesen und kenne sie auswendig.
Und ich werde mit Sicherheit keine Programme doppelt installieren nur damit der TC das Menü richtig anzeigt.
Ich will auch nicht unbedingt einen TC x64 (wäre aber trotzdem schön).
Was ich suche ist ein Tool welches sich in das x32 Context Menu einklingt und alle x64 Einträge anzeigt. z.B. mit dem Namen x64. Es kann auch gerne alles nochmal auflisten in einem Untermenü.
Ich habe den SpeedCommander x64 getestet wo das alles super funktioniert. Aber der TC bleibt bei der Bedienung einfach unschlagbar.
Gibt es schon solch ein Tool?
Und kommt jetzt bitte nicht mit tausend Links. Die hab ich alle gelesen und kenne sie auswendig.
Und ich werde mit Sicherheit keine Programme doppelt installieren nur damit der TC das Menü richtig anzeigt.
Ich will auch nicht unbedingt einen TC x64 (wäre aber trotzdem schön).
Was ich suche ist ein Tool welches sich in das x32 Context Menu einklingt und alle x64 Einträge anzeigt. z.B. mit dem Namen x64. Es kann auch gerne alles nochmal auflisten in einem Untermenü.
Ich habe den SpeedCommander x64 getestet wo das alles super funktioniert. Aber der TC bleibt bei der Bedienung einfach unschlagbar.
Gibt es schon solch ein Tool?
- ghisler(Author)
- Site Admin
- Posts: 48088
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Wenn ich nicht unter chronischem Zeitmangel leiden würde, hätte ich so ein Tool schon lange geschrieben. Ich habe sogar schon einen Compiler unter Windows XP 64 installiert und erste Tests gemacht, weiter bin ich aber noch nicht gekommen...
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- Tahattmeruh
- Senior Member
- Posts: 232
- Joined: 2003-05-16, 13:35 UTC
2Tahattmeruh, ate
Ich habe grade mal etwas auf die Schnelle gebastelt, mit dem man vielleicht die Zeit bis zu einer endgültigen Lösung überbrücken kann:
Download: http://holgerk.drivehq.com//TC/ExplorerMenu4TC.zip
Gleich vorne weg: es ist keine vollständige Lösung (mir fehlt allerdings momentan auch die Zeit, um das zu perfektionieren) aber vielleicht ist es ja so auch schon ein klein wenig hilfreich.
Kurzanleitung:
- Exe aus dem Archiv entpacken
- auf einen Button ziehen
- im Parameterfeld " -List %L " eintragen
- Dateien markieren und den Button betätigen.
wenn alles gut geht, erscheint dann das 64 Bit Kontextmenu des Explorers.
Bekannte Restriktionen:
- Alle markierte Dateien/Verzeichnisse müssen relativ zum gleichen Vaterverzeichnis liegen.
- Gefixt 07.06.08: Umlaute und Sonderzeichen bereiten momentan noch Probleme. %l "short names" kann dabei allerdings helfen.
- Gefixt 07.06.08: Der Abbruch des Kontextmenues ist nicht so ohne weiteres möglich.
Ein Workaround ist einmal <RMB> auf dem Kontextmenu, gefolgt von einem <LMB> außerhalb des Kontextmenues.
- Man kann die EXE auch über ein Userkommando per Tastatur aufrufen.
Das Kontextmenu öffnet sich dann jedoch an der momentanen Position der Maus Gefixt 07.06.08:, und der Fokus bleibt im TC (Menu kann also anschließend nur über Maus bedient werden)
- Aufruf von Befehlen wie Copy, Delete, Search werden vom Explorer ausgeführt.
- Gefixt 13.06.08: Unter Umständen kommt es zu Problemen beim Versuch Untemenues von "Open with" anzuzeigen. (ist mir beim Testen auf auf einem XP32 System aufgefallen).
In diesem Fall bleibt der TC allerdings unbeeinflusst, nur die ExplorerMenu4TC.EXE verabschiedet sich mit einem Fehler aus dem Speicher.....
- ExplorerMenu4TC.exe darf nicht beendet werden solange noch ein über das Kontextmenu aufgerufener Dialog geöffnet ist (Der Dialog würde ansonsten mit in den Abgrund gezogen).
- Operationen über das Kontextmenu, die den Inhalt der TC-Panels modifizieren (z.B. "Winrar->Extract here") führen teilweise nicht zu einer Aktualisierung des TC-Panels.
- evtl. muss man einer Firewall einmal sagen, das Programm nicht zu blockieren (keine Sorge es ist keine Internetverbindung, sondern nur ein Localhost Port Verbindung die z.B. vom Processexplorer auch angezeigt wird)
...
Hintergrund (Implementierung):
ExplorerMenu4TC.exe ist eine in C# geschrieben Singel-Instance-Applikation und setzt ein installiertes .Net 2.0 voraus.
Single-Instance-Applikation bedeutet, dass die gleiche Exe mehrmals mit unterschiedlichen Kommandozeilenparametern aufgerufen werden kann, wobei allerdings immer nur eine Instanz im Speicher existiert.
Die Exe selber läuft nach dem ersten Start kontinuierlich weiter.
Über den Taskmanager lässt sich der dabei gestartet Dialog "(64 Bit) Explorer menu helper for Total Commander" auch in den Vordergrund holen.
Im diesem Dialog wird immer die Liste der zuletzt übergebenen Files angezeigt (nützlich zum Debugen wegen "Umlaute!" oder "Dateien nicht im gleichen Verzeichnis!").
Die Implementierung als .Net Assembly mit der Compileroption "AnyCPU", hatte für mich den Vorteil, dass ich
a) auf einige highlevel Methoden des .Net Frameworks zurückgreifen konnte (die SingelInstance Implementierung ist quasi umsonst),
und b) die Exe sowohl unter 32Bit als auch 64Bit lauffähig ist (ich sitze die meiste Zeit immer noch an einem 32Bit System).
Der Aufruf des Kontextmenus ist einem Sample-Code von "Andreas Johansson" http://afjohansson.spaces.live.com/blog/cns!3CA68ED86F5A5970!357.entry
entnommen.
Falls jemand Lust hat sich der Übung zu widmen, PIDL, IShellFolder, IContextMenu1-3 einmal in die richtige Reihenfolge zu biegen, um auch Dateilisten mit quer über das Filesystem verstreuten Dateien (Suchergebnisse!) zum Laufen zu bringen, kann ich gerne den bisherigen Quelltext zur Verfügung stellen. Alternativ wäre ich allerdings auch für einen hilfreichen Tip oder Link dankbar.
Mit freundlichem Gruß,
Holger
Edit 07.06.08 15:00
Bugfixes markiert. Download aktualisiert.
Edit 13.06.08
Ein Bug weniger.
Ich habe grade mal etwas auf die Schnelle gebastelt, mit dem man vielleicht die Zeit bis zu einer endgültigen Lösung überbrücken kann:
Download: http://holgerk.drivehq.com//TC/ExplorerMenu4TC.zip
Gleich vorne weg: es ist keine vollständige Lösung (mir fehlt allerdings momentan auch die Zeit, um das zu perfektionieren) aber vielleicht ist es ja so auch schon ein klein wenig hilfreich.
Kurzanleitung:
- Exe aus dem Archiv entpacken
- auf einen Button ziehen
- im Parameterfeld " -List %L " eintragen
- Dateien markieren und den Button betätigen.
wenn alles gut geht, erscheint dann das 64 Bit Kontextmenu des Explorers.
Bekannte Restriktionen:
- Alle markierte Dateien/Verzeichnisse müssen relativ zum gleichen Vaterverzeichnis liegen.
- Gefixt 07.06.08: Umlaute und Sonderzeichen bereiten momentan noch Probleme. %l "short names" kann dabei allerdings helfen.
- Gefixt 07.06.08: Der Abbruch des Kontextmenues ist nicht so ohne weiteres möglich.
Ein Workaround ist einmal <RMB> auf dem Kontextmenu, gefolgt von einem <LMB> außerhalb des Kontextmenues.
- Man kann die EXE auch über ein Userkommando per Tastatur aufrufen.
Das Kontextmenu öffnet sich dann jedoch an der momentanen Position der Maus Gefixt 07.06.08:, und der Fokus bleibt im TC (Menu kann also anschließend nur über Maus bedient werden)
- Aufruf von Befehlen wie Copy, Delete, Search werden vom Explorer ausgeführt.
- Gefixt 13.06.08: Unter Umständen kommt es zu Problemen beim Versuch Untemenues von "Open with" anzuzeigen. (ist mir beim Testen auf auf einem XP32 System aufgefallen).
In diesem Fall bleibt der TC allerdings unbeeinflusst, nur die ExplorerMenu4TC.EXE verabschiedet sich mit einem Fehler aus dem Speicher.....
- ExplorerMenu4TC.exe darf nicht beendet werden solange noch ein über das Kontextmenu aufgerufener Dialog geöffnet ist (Der Dialog würde ansonsten mit in den Abgrund gezogen).
- Operationen über das Kontextmenu, die den Inhalt der TC-Panels modifizieren (z.B. "Winrar->Extract here") führen teilweise nicht zu einer Aktualisierung des TC-Panels.
- evtl. muss man einer Firewall einmal sagen, das Programm nicht zu blockieren (keine Sorge es ist keine Internetverbindung, sondern nur ein Localhost Port Verbindung die z.B. vom Processexplorer auch angezeigt wird)
...
Hintergrund (Implementierung):
ExplorerMenu4TC.exe ist eine in C# geschrieben Singel-Instance-Applikation und setzt ein installiertes .Net 2.0 voraus.
Single-Instance-Applikation bedeutet, dass die gleiche Exe mehrmals mit unterschiedlichen Kommandozeilenparametern aufgerufen werden kann, wobei allerdings immer nur eine Instanz im Speicher existiert.
Die Exe selber läuft nach dem ersten Start kontinuierlich weiter.
Über den Taskmanager lässt sich der dabei gestartet Dialog "(64 Bit) Explorer menu helper for Total Commander" auch in den Vordergrund holen.
Im diesem Dialog wird immer die Liste der zuletzt übergebenen Files angezeigt (nützlich zum Debugen wegen "Umlaute!" oder "Dateien nicht im gleichen Verzeichnis!").
Die Implementierung als .Net Assembly mit der Compileroption "AnyCPU", hatte für mich den Vorteil, dass ich
a) auf einige highlevel Methoden des .Net Frameworks zurückgreifen konnte (die SingelInstance Implementierung ist quasi umsonst),
und b) die Exe sowohl unter 32Bit als auch 64Bit lauffähig ist (ich sitze die meiste Zeit immer noch an einem 32Bit System).
Der Aufruf des Kontextmenus ist einem Sample-Code von "Andreas Johansson" http://afjohansson.spaces.live.com/blog/cns!3CA68ED86F5A5970!357.entry
entnommen.
Falls jemand Lust hat sich der Übung zu widmen, PIDL, IShellFolder, IContextMenu1-3 einmal in die richtige Reihenfolge zu biegen, um auch Dateilisten mit quer über das Filesystem verstreuten Dateien (Suchergebnisse!) zum Laufen zu bringen, kann ich gerne den bisherigen Quelltext zur Verfügung stellen. Alternativ wäre ich allerdings auch für einen hilfreichen Tip oder Link dankbar.
Mit freundlichem Gruß,
Holger
Edit 07.06.08 15:00
Bugfixes markiert. Download aktualisiert.
Edit 13.06.08
Ein Bug weniger.
Last edited by HolgerK on 2008-06-13, 09:40 UTC, edited 1 time in total.
- Tahattmeruh
- Senior Member
- Posts: 232
- Joined: 2003-05-16, 13:35 UTC
- Tahattmeruh
- Senior Member
- Posts: 232
- Joined: 2003-05-16, 13:35 UTC
- Fehlermeldung?Tahattmeruh wrote:Auf einem funktioniert es, auf dem zweiten stürzt das Programm ab.
- Hast du die zweite Version versucht. Ich hatte mein Posting 5 Minuten bevor du geantwortest hast aktualisiert.
- Evntl. Leerzeichen im Temppath. Versuchs mal mit -List "%L"
Leider schaffe ich es nicht das Menü über einen Shortcut zu starten.
usercmd.ini wrote:[em_64BitExplorerMenu]
button=%COMMANDER_PATH%\Addons\ExplorerMenu4TC.exe
cmd=%COMMANDER_PATH%\Addons\ExplorerMenu4TC.exe
param=-List "%L"
path=%COMMANDER_PATH%\Addons\
menu=64Bit Explorer menu
Unter der Bedingung das "ExplorerMenu4TC.exe" in einem Unterverzeichnis der TC-Installation mit dem Namen "Addons" liegt. ansonsten den Pfad anpassen.wincmd.ini wrote:[Shortcuts]
CS+F10=em_64BitExplorerMenu
Als Shortcut ist dann <STRG+UMSCH+F10> definiert.
Geht natürlich auch über "Konfigurieren->Einstellungen..->Diverses->Tastenkombination..."
HTH,
Holger
- Tahattmeruh
- Senior Member
- Posts: 232
- Joined: 2003-05-16, 13:35 UTC
Danke. Ich hab die INIs jetzt direkt editiert und jetzt wir das Menü gestartet.
Aber auf einem PC crasht das Programm. Windows bringt folgende Meldung:
Description:
Stopped working
Problem signature:
Problem Event Name: APPCRASH
Application Name: ExplorerMenu4TC.exe
Application Version: 1.0.0.0
Application Timestamp: 484a8498
Fault Module Name: mscorwks.dll
Fault Module Version: 2.0.50727.1434
Fault Module Timestamp: 475794b9
Exception Code: c0000005
Exception Offset: 0000000000337085
OS Version: 6.0.6001.2.1.0.256.1
Locale ID: 1031
Aber auf einem PC crasht das Programm. Windows bringt folgende Meldung:
Description:
Stopped working
Problem signature:
Problem Event Name: APPCRASH
Application Name: ExplorerMenu4TC.exe
Application Version: 1.0.0.0
Application Timestamp: 484a8498
Fault Module Name: mscorwks.dll
Fault Module Version: 2.0.50727.1434
Fault Module Timestamp: 475794b9
Exception Code: c0000005
Exception Offset: 0000000000337085
OS Version: 6.0.6001.2.1.0.256.1
Locale ID: 1031
Oha, Fehlersuche.
Da gibt es also Unterschiede zwischen deinen beiden Systemen.
Zumindest die "Microsoft .NET Runtime Common Language Runtime" (mscorwks.dl) scheint die Passende zu sein.
Kannst Du auf Anhieb sagen, was bei den beiden Systemen signifikant unterschiedlich ist?
Etwa in der Richtung:
SP1, Firewall, Virenscanner, Security-Einstellungen, UAC, irgendwelche Beta Software von M$ (community previews), M$ Entwicklungswerkzeuge,...
Installiert bzw. nicht?
Versuch ExplorerMenu4TC.exe mal ohne jeglichen Übergabeparameter aufzurufen.
Falls das nicht klappt dann stimmt evtl. irgend etwas nicht mit deiner .Net2.0 Installation.
Falls das Starten ohne Übergabeparameter funktionierte:
Passiert der Crash im Kontextmenü eines bestimmten Dateityps, oder jedesmal?
Das könnte darauf hindeuten, dass auf dem einem System, ein in .Net geschriebener Kontextmenühandler installiert ist, der sich mit der von ExplorerMenu4TC.exe benutzen .Net Version nicht verträgt.
(Dino Esposito hat zwar 2004 mal einen Artikel veröffentlicht, wie man Shellextensions in .Net programmieren kann, allerdings gibt es Gründe, die eine solche Implementierung nicht ratsam erscheinen lassen)
Da gäbe es dann die Möglichkeit mit Shellextview http://www.nirsoft.net/utils/shexview-x64.zip ) probeweise "Context menu" Extensions auszuschalten (irgendwie habe ich da grade ein Déjà-vu... )
Mit freundlichem Gruß,
Holger
Da gibt es also Unterschiede zwischen deinen beiden Systemen.
Zumindest die "Microsoft .NET Runtime Common Language Runtime" (mscorwks.dl) scheint die Passende zu sein.
Kannst Du auf Anhieb sagen, was bei den beiden Systemen signifikant unterschiedlich ist?
Etwa in der Richtung:
SP1, Firewall, Virenscanner, Security-Einstellungen, UAC, irgendwelche Beta Software von M$ (community previews), M$ Entwicklungswerkzeuge,...
Installiert bzw. nicht?
Versuch ExplorerMenu4TC.exe mal ohne jeglichen Übergabeparameter aufzurufen.
Falls das nicht klappt dann stimmt evtl. irgend etwas nicht mit deiner .Net2.0 Installation.
Falls das Starten ohne Übergabeparameter funktionierte:
Passiert der Crash im Kontextmenü eines bestimmten Dateityps, oder jedesmal?
Das könnte darauf hindeuten, dass auf dem einem System, ein in .Net geschriebener Kontextmenühandler installiert ist, der sich mit der von ExplorerMenu4TC.exe benutzen .Net Version nicht verträgt.
(Dino Esposito hat zwar 2004 mal einen Artikel veröffentlicht, wie man Shellextensions in .Net programmieren kann, allerdings gibt es Gründe, die eine solche Implementierung nicht ratsam erscheinen lassen)
Da gäbe es dann die Möglichkeit mit Shellextview http://www.nirsoft.net/utils/shexview-x64.zip ) probeweise "Context menu" Extensions auszuschalten (irgendwie habe ich da grade ein Déjà-vu... )
Mit freundlichem Gruß,
Holger
- Tahattmeruh
- Senior Member
- Posts: 232
- Joined: 2003-05-16, 13:35 UTC
Oh ja. Das kenn ich gutHolgerK wrote:Oha, Fehlersuche.
Sind beides Vista x64 Ultimate Englisch mit SP1HolgerK wrote:Da gibt es also Unterschiede zwischen deinen beiden Systemen.
Zumindest die "Microsoft .NET Runtime Common Language Runtime" (mscorwks.dl) scheint die Passende zu sein.
Keine Firewall (nur die eingebaute). alles default. Keine EinstellungenHolgerK wrote: Kannst Du auf Anhieb sagen, was bei den beiden Systemen signifikant unterschiedlich ist?
Etwa in der Richtung:
SP1, Firewall, Virenscanner, Security-Einstellungen, UAC, irgendwelche Beta Software von M$ (community previews), M$ Entwicklungswerkzeuge,...
Installiert bzw. nicht?
geändert nach der Installation. VB6 + VS2008 sind installiert.
Der Rest ist alles Portable Software.
Dann passiert einfach nichts. Aber es Crasht nicht.HolgerK wrote: Versuch ExplorerMenu4TC.exe mal ohne jeglichen Übergabeparameter aufzurufen.
Der Crash kommt immer. Kein Unterschied bei den Dateitypen.HolgerK wrote:Falls das Starten ohne Übergabeparameter funktionierte:
Passiert der Crash im Kontextmenü eines bestimmten Dateityps, oder jedesmal?
Jetzt fällt mir doch ein Unterschied ein. Ich hab auf dem PC der nichtHolgerK wrote: Das könnte darauf hindeuten, dass auf dem einem System, ein in .Net geschriebener Kontextmenühandler installiert ist, der sich mit der von ExplorerMenu4TC.exe benutzen .Net Version nicht verträgt.
funktioniert SubVersion installiert. Vielleicht liegts daran. Leider kann
ich das heute nicht testen.
Aha, dann liegt es am Aufbau/Aufruf des Kontextmenüs.Tahattmeruh wrote:Dann passiert einfach nichts. Aber es Crasht nicht.
Benutzt du TortoiseSVN als GUI?Ich hab auf dem PC der nicht funktioniert SubVersion installiert.
Ich nutze leider ein anderes Versionskontrollsystem.
Kann aber mal ToirtoiseSVN probeweise bei mir zu Hause installieren, um das zu debuggen.
BTW die TortoiseSVN ShellExtension ist nicht in .Net geschrieben.
Es wäre allerdings trotzdem hilfreich wenn du diese Shellextension mal temporär mit ShellextView deaktivieren könntest, um das Ganze etwas genauer einzukreisen.
Gruß,
Holger
- Tahattmeruh
- Senior Member
- Posts: 232
- Joined: 2003-05-16, 13:35 UTC