Page 1 of 1
x64 shell context menus
Posted: 30 Jan 2012 10:30
by Stretto
In Winx64 I use a lot of 64-bit software that installs context menus for x64. They do not show up in the 32-bit XYplorer. Is there any way to get them to work? A utility that can copy over the 64-bit registry keys to the 32-bit registry maybe?
Re: x64 shell context menus
Posted: 30 Jan 2012 11:35
by highend
If you can't find a compatible 32bit shell extension you're out of luck.
A x64 version of XYplorer will arrive (eventually) in 2012...
Re: x64 shell context menus
Posted: 30 Jan 2012 15:20
by Stretto
Why is this? Surely the only difference is some keys in the registry? Winrar, for example, shows up in both and it's a 64-bit only. So it's not impossible. After all, it's just file associations and all the information is contained in the registry somewhere.
Re: x64 shell context menus
Posted: 30 Jan 2012 16:46
by highend
Surely the only difference is some keys in the registry?
Nope.
Winrar, for example, shows up in both and it's a 64-bit only.
What you mean is: You've installed the x64 version of Winrar. Winrar itself installs
it's x86 shell extension automatically, too.
Re: x64 shell context menus
Posted: 31 Jan 2012 07:00
by ogroeger
On the other hands side: Total Commander is a 32 bit application as XY is, but under W7/64 it shows the 32 bit shell extensions in the context menu as well as the 64 bit shell extensions.
Re: x64 shell context menus
Posted: 31 Jan 2012 10:26
by admin
ogroeger wrote:On the other hands side: Total Commander is a 32 bit application as XY is, but under W7/64 it shows the 32 bit shell extensions in the context menu as well as the 64 bit shell extensions.
I guess that's done in a submenu that's fed by some 64-bit helper EXE that's delivered together with the main tc.exe?
Re: x64 shell context menus
Posted: 31 Jan 2012 11:04
by Stretto
I would imagine there is some way to write a wrapper or proxy. They do it with vst's so it should be possible to write a similar thing for shell extensions.
Re: x64 shell context menus
Posted: 01 Feb 2012 07:00
by ogroeger
I guess that's done in a submenu that's fed by some 64-bit helper EXE that's delivered together with the main tc.exe?
Yes, the 64 bit extentions are located in a x64 submenu.
Re: x64 shell context menus
Posted: 01 Feb 2012 09:12
by admin
ogroeger wrote:I guess that's done in a submenu that's fed by some 64-bit helper EXE that's delivered together with the main tc.exe?
Yes, the 64 bit extentions are located in a x64 submenu.
So if any of you can write and compile such a thing: do it and give it to me!

Re: x64 shell context menus
Posted: 01 Feb 2012 18:08
by Stretto
I would help but I really don't have the time to figure it out.
This maybe the way to deal with it:
Try to get at the registry for x64. This might require writing an x64 proxy or reading the hive directly(I don't have enough experience with WOW64 to know how 32-bit apps work). How ever you do this in the 32-bit version(not sure if it is a win32 api/COM to get the shell extensions or just registry stuff or what) you can do the same in a 64-bit proxy and maybe even get the 64-bit info from a 32-bit app just to display the context menu items.
It maybe more difficult to execute the context menu commands. I'm not sure if one uses verbs or what.
I've never done any context menu stuff so I really don't know. What I do know is that what you do in 64-bit apps should be identical to 32-bit with the difference being how windows uses WOW64 for 32-bit apps instead of 64-bit. Hence a 64-bit proxy/bridge should work. The trick is to find the easiest way which may not require such a bridge.
Just quickly searching gives results like
http://netez.com/2xExplorer/shellFAQ/bas_context.html
which make it seem like you'll just need to write a 64-bit wrapper. One should be able to create a simple bridge that any app could plug an play to get both 64-bit and 32-bit as one(what I initially talked about).
1. Create an interface for the context menu handlers.
2. Implement the interface. This probably just involves wrapping the shell commands and compiling for 64-bit and 32-bit.
3. Create some type of generic interface that your app(or any others) will use. This will require some interprocess communication because it will be in the opposite space as the app(so either com, DDE, clipboard, etc...).
That should be it.
Your app interacts with the generic interface. The generic interface pushes the calls to the appropriate context menu handler. As long as there is not any crazy thing context menu's can do then it should be easy to implement.
Re: x64 shell context menus
Posted: 05 Feb 2012 04:16
by FeatureCreep
I looked around for popup launchers to quickly access the 64-bit menu but none of them were able to do it. The closest solution is to place a toolbar on the taskbar (e.g. to C: drive) and shrink it till nothing but the chevrons show. A cascading menu appears when you click these chevrons and the 64-bit context menu appears when right-clicked.
You can activate the chevrons with Win+T then a sequence of Tab and ArrowKey strokes or more directly via RB_PUSHCHEVRON (
http://www.autohotkey.com/forum/topic35942.html). However, I don't know how (or if) the currently selected item could be sent to the menu. Besides if its deeply nested it less than ideal.
-----------------------
Using NirSofir's NirCmd (to open WE with the item selected and then hit the Menu key) works, but leaves you with a WE window open. Maybe it could be refined or done better with AHK.
-----------------------
There is one open source app that does nothing but call the shell context menu but its not 64-bit and pretty out of date.
CmdUtils v1.5
Matt Ginzton, MaDdoG Software
http://www.maddogsw.com/cmdutils/
A collection of a few free utilities to make life at the Win9x/NT command line a bit easier and more flexible. Source code included.
CmdUtils currently include:
ContextMenu (context.exe), which displays the shell context menu for the specified file(s); from here, with one more step, you can get Properties, Quick View, or any other supported action for the specified file(s).
Out of curiosity. I tried it on my Win7 64-bit system. It didn't work with all file types but curiously worked best for image files. The context menu pops up and commands can be activated. Extensions are visible and work (e.g. the XnView extension). Submenus did not work. I don't know if this code could be updated and 64-bit compiled but it might give somebody useful pointers. As might this thread:
http://blogs.msdn.com/b/oldnewthing/arc ... x#comments
http://blogs.msdn.com/search/SearchResu ... tions=2905