Hooking Windows Messages in .NET

“In the previous article in this series, you discovered a whole world of messages that the .NET Framework doesn’t even capture. These messages can signal all kinds of events, request changes, and even can end your application. Unfortunately, the techniques described in that article only work for messages that the CLR passes to your application. Sometimes, you want to track messages that the CLR doesn’t support.”