x64 shell context menus

Please check the FAQ (https://www.xyplorer.com/faq.php) before posting a question...
Post Reply
Stretto
Posts: 108
Joined: 30 Jan 2012 06:43

x64 shell context menus

Post 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?

highend
Posts: 13338
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: x64 shell context menus

Post 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...
One of my scripts helped you out? Please donate via Paypal

Stretto
Posts: 108
Joined: 30 Jan 2012 06:43

Re: x64 shell context menus

Post 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.

highend
Posts: 13338
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: x64 shell context menus

Post 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.
One of my scripts helped you out? Please donate via Paypal

ogroeger
Posts: 92
Joined: 03 Jul 2007 07:39

Re: x64 shell context menus

Post 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.

admin
Site Admin
Posts: 60635
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: x64 shell context menus

Post 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?

Stretto
Posts: 108
Joined: 30 Jan 2012 06:43

Re: x64 shell context menus

Post 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.

ogroeger
Posts: 92
Joined: 03 Jul 2007 07:39

Re: x64 shell context menus

Post 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.

admin
Site Admin
Posts: 60635
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: x64 shell context menus

Post 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! :mrgreen:

Stretto
Posts: 108
Joined: 30 Jan 2012 06:43

Re: x64 shell context menus

Post 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.

FeatureCreep
Posts: 162
Joined: 02 Dec 2011 21:18

Re: x64 shell context menus

Post 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

Post Reply