Speaking of Microsoft Spy++, I still haven't figured out how to prevent the release of the Windows key from opening the Start menu. (Still trying to do this.) I wrote a much longer entry about how my GetMsgProc wasn't getting called for the registered SHELLHOOK message Spy++ was telling me about, but looking for links to add I found the special Google incantation that told me I was using an insufficiently special function, a WH_GETMESSAGE hook, when there's a particular WH_SHELL message hook. Maybe shippo could've told me about this.
Hopefully that'll work. I don't have my source code here on campus so I can't try it now. I was also worried maybe Explorer gets special dispensation and it's utterly hopeless, but I no longer know if that's the case.