public static IEnumerable <DesktopWindow> Enumerate()
        {
            var list = new List <DesktopWindow>();

            EnumDesktopWindows(IntPtr.Zero, (handle, lParam) =>
            {
                if (IsDesktopWindow(handle))
                {
                    list.Add(DesktopWindow.FromHandle(handle));
                }
                return(true);
            }, IntPtr.Zero);

            return(list);
        }