Esempio n. 1
0
        public Screen(Window window)
        {
            IntPtr windowHandle = new WindowInteropHelper(window).EnsureHandle();
            IntPtr monitor      = NativeMethods.MonitorFromWindow(windowHandle, NativeMethods.MONITOR_DEFAULTTONEAREST);

            NativeMethods.NativeMonitorInfo monitorInfo = new NativeMethods.NativeMonitorInfo();
            NativeMethods.GetMonitorInfo(monitor, monitorInfo);

            Bounds = Rectangle.FromLTRB(monitorInfo.Monitor.Left, monitorInfo.Monitor.Top, monitorInfo.Monitor.Right, monitorInfo.Monitor.Bottom);
        }
Esempio n. 2
0
        public Screen(Window window)
        {
            IntPtr windowHandle = window != null ? new WindowInteropHelper(window).Handle : IntPtr.Zero;

            IntPtr monitor = window != null?NativeMethods.MonitorFromWindow(windowHandle, NativeMethods.MONITOR_DEFAULTTONEAREST) : NativeMethods.MonitorFromPoint(new NativeMethods.POINT(0, 0), NativeMethods.MonitorOptions.MONITOR_DEFAULTTOPRIMARY);

            NativeMethods.NativeMonitorInfo monitorInfo = new NativeMethods.NativeMonitorInfo();
            NativeMethods.GetMonitorInfo(monitor, monitorInfo);

            Bounds = Rectangle.FromLTRB(monitorInfo.Monitor.Left, monitorInfo.Monitor.Top, monitorInfo.Monitor.Right, monitorInfo.Monitor.Bottom);
        }