private static extern bool TranslateMessage(ref EventLoop.MSG lpMsg);
private static extern IntPtr DispatchMessage(ref EventLoop.MSG lpMsg);
private static extern bool PeekMessage(out EventLoop.MSG lpMsg, IntPtr hwnd, uint wMsgFilterMin, uint wMsgFilterMax, uint wRemoveMsg);