Introduction
The .NET base classes manage to insulate the programmer from many of the details of
how applications interact with the underlying operating system, but in order to implement
advanced UI functionality Microsoft leaves you no option but to interoperate with windows plumbing.
The IMessageFilter interface requires you to use
the System.Windows.Forms.Message struct which
wraps a windows message. The Msg property corresponds to an int value that stores a
constant indicating the type of message, Windows is sending your application. To my knowledge, Microsoft has
not incorporated an enumeration with the commonly used constants. So, I stripped all of the messages
I could find in the CommCtrl.h and WinUser.h header files and created an enum.
I hope that you find it useful.
namespace WindowsUtilities
{
public enum WindowsMessages: int
{
WM_NULL = 0x0000,
WM_CREATE = 0x0001,
LM_SETITEM = (WM_USER + 0x302),
LM_GETITEM = (WM_USER + 0x303)
}
}