Ejemplo n.º 1
0
        static void InitScreens()
        {
            if (multiMonitorSupport)
            {
                MonitorEnumCallback             closure = new MonitorEnumCallback();
                WinMethods.EnumMonitorsDelegate proc    = new WinMethods.EnumMonitorsDelegate(closure.Callback);
                WinMethods.EnumDisplayMonitors(NullHandleRef, IntPtr.Zero, proc, IntPtr.Zero);

                if (closure.ScreenList.Count > 0)
                {
                    Screen[] temp = new Screen[closure.ScreenList.Count];
                    closure.ScreenList.CopyTo(temp, 0);
                    screens = temp;
                }
                else
                {
                    screens = new Screen[] { new Screen((IntPtr)PRIMARY_MONITOR) };
                }
            }
            else
            {
                screens = new Screen[] { new Screen((IntPtr)PRIMARY_MONITOR, IntPtr.Zero) };
            }
        }