public static extern bool PeekMessage(out NativeMessage message, IntPtr handle, uint filterMin, uint filterMax, uint flags);
public static extern bool TranslateMessage([In] ref NativeMessage lpMsg);
public static extern IntPtr DispatchMessage([In] ref NativeMessage lpmsg);
public static extern sbyte GetMessage(out NativeMessage lpMsg, IntPtr hWnd, uint wMsgFilterMin, uint wMsgFilterMax);