using System; using System.Runtime.InteropServices; namespace Glass.Testbed { public static class NativeMethods { // See https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-msg [StructLayout(LayoutKind.Sequential)] public struct Message { public IntPtr WindowHandle; public uint Id; public IntPtr WParam; public IntPtr LParam; public uint Time; public System.Drawing.Point Point; public uint Private; } // See https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-peekmessagea [DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern bool PeekMessage(out Message message, IntPtr windowHandle, uint messageFilterMin, uint messageFilterMax, uint removeMessage); } }