Windows Right-Click on a File - how do I create a cascading submenu?

Hello everyone,

I'm working on several programs which are to be installed on several users PCs (Win2k and WinXP). What happens is that the users receive files (typically .txt files) and they want to be able to right-click on the file and choose a menu option for what is to be done with it (ie to choose which program is to run).

I can easily create right-click options for the menu (through the registry). However there are several programs/options and the right-click menu is starting to look somewhat crowded. I would like to be able to consolidate them, so that the process would be something like:

(right-click) -> Convert Data -> (particular data conversion needed)

I've looked at some systems which do what I am wanting to do (WinZip and WinRar) - they appear to use a .dll to do this. Is there some method of getting Windows to do it, or is a dll/program required?

Thanks!
WilliamV
WilliamVAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

InsolenceCommented:
I don't this it's possible William... but if you do manage to find out, I'd love to know!  I do this very same thing on some of my machines.  =)  It'd be sweet to let me have subcategories.  =P

 - Insolence
Wojciech DudaCommented:
Unfortunately, this seems impossible without a shell extension handler.

This page in the MSDN:

http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_extending/context.asp

shows no way of adding cascaded menus.

It seems you need a shell extension handler (the dll you mentioned). I'll try and look for a free one for you - info can be found here:

http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int_extending/extending.asp
Wojciech DudaCommented:
Another idea would be a small workaround - create shortcuts in the "Send To" folder - you can use this cascading menu this way.
Acronis True Image 2019 just released!

Create a reliable backup. Make sure you always have dependable copies of your data so you can restore your entire system or individual files.

Wojciech DudaCommented:
I found a guide to programming an shell extension handler for bitmapped and cascaded context menus, this should help:

http://www.codeguru.com/shell/CascadingMenus.html

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
WilliamVAuthor Commented:
Thank you mcwojtekk! That information seems to be exactly what I need. You get the points for sure!

After reading through the code I'm going to have a go at writing a "generic" context menu handler which gets the menu info from an ini-file of some type. That way I can customise it for any computer system that it needs to be put on, now and future, rather than recoding for every system. If you want that for yourself Insolence, I will happily give it to you (assuming that I can manage it!).

Thanks once more!
WilliamV
InsolenceCommented:
Heh, William, if you take the time to write that, I'd love to test it for ya and give you some feedback, and of course, would love to use it.  =P I looked at the codeguru example, it looks very clean.  I hate windows programming, I'm a linux junkie in that aspect, but it doesn't look too bad.  =)  William, if you do manage to get somethin' running, my e-mail is in my profile.  =)  Take care, and nice find mcwojtekk.  =)

 - Insolence
Wojciech DudaCommented:
Glad to help and thanks for the points.
WilliamVAuthor Commented:
First-cut is heading your way, Insolence - hope it helps you too!

WilliamV
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows 2000

From novice to tech pro — start learning today.