views:

152

answers:

3

I want to make my own Start Menu replacement and I am trying to figure out what approach to use. There are a number of ways the Start Menu is activated: click on it, hit windows key, hit ctrl+esc keys or tab until it gets focus and hit the space or enter key.

I know enough about win32 to do each one of these separately and I could figure it out with Spy++. I'd really like to know if there is an easier way though and I can't find any helpful articles.

I'd like to do this for XP and Vista/Windows 7.

A: 

You can use WindowBlinds and design your own Start Menu as well.

waqasahmed
I think he's more interested in programming his own, and hooking into it himself, rather then using an off the shelf product.
Dominic Bou-Samra
+1  A: 

Take a look at http://bitbucket.org/wez/evildesk/src/755606d7935d/gdi.cpp , I think you could start your project by seing what they've done.

woliveirajr
That is a complete shell replacement, the question is about the start menu
Anders
+1  A: 

I guess that you would have to inject yourself into the explorer.exe process (There can be more than one, but you want the one that has the "Shell_TrayWnd" window) and subclass the taskbar or one of its children to catch/eat the message that brings up the startmenu and instead, show your own window.

Anders
Thanks. I'll accept this answer because it's probably a good start.
wizlb