You can't do a global one using VB alone, You can do a threadwide one but that will only work for windows in your app, in fact ther'll be some controls you won't catch this way. Doing this sort of thing you do have to do some of the code in VC++ (Anyone wanna throw some code this way, my C++ is limited) You'll probably have to look for another solution.