static extern bool PeekMessage(out NativeMessage message, HandleRef window, uint filterMin, uint filterMax, uint remove);
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);