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);