For the people who are saying their stuff isn't working, it's not the test environment... It should work perfectly if you actually know what you're doing. If your leeched gellins shit menus don't work it's probably because it's waiting for ClientFX and CShell to load to initiate the hook, since the libraries aren't there it never hooks.
Thanks for sharing Seal, much appreciated.
Oh yeah, I never thought about the while loops.
And I'm pretty sure I got this from the C++ section from when why was trying to get his DX hook to work. :P