public static extern int DispatchMessage(ref NativeMessage lpMsg);
public static extern int GetMessage(out NativeMessage lpMsg, IntPtr hWnd, int wMsgFilterMin, int wMsgFilterMax);
public static extern int TranslateMessage(ref NativeMessage lpMsg);
public static extern int PeekMessage(out NativeMessage lpMsg, IntPtr hWnd, int wMsgFilterMin, int wMsgFilterMax, int wRemoveMsg);