Пример #1
0
        private void FullScreen(IntPtr targeHandler, int displayIndex = 0)
        {
            //var tmp = User32Wrapper.MonitorFromWindow(targeHandler, User32Wrapper.MONITOR_DEFAULTTONEAREST);
            //MONITORINFO info = new MONITORINFO();

            //bool ok = User32Wrapper.GetMonitorInfo(tmp, info);
            //if (!ok)
            //    return null;

            //ok = User32Wrapper.GetWindowRect(_targeHandler, out RECT react);

            //ok = User32Wrapper.SetWindowPos(targeHandler, info.rcMonitor);
            //return react;

            var displays = User32Wrapper.GetDisplays();

            if (displays == null)
            {
                return;
            }
            var display = displays[displayIndex];

            User32Wrapper.MapWindowPoints(IntPtr.Zero, _workerw, ref display.rcMonitor, 2);
            var ok = User32Wrapper.SetWindowPos(targeHandler, display.rcMonitor);

            return;
        }
Пример #2
0
        public void RestoreParent()
        {
            if (!Shown)
            {
                return;
            }

            _desktopWallpaperAPI = RefreshWallpaper(_desktopWallpaperAPI);

            if (_workerw == IntPtr.Zero)
            {
                _workerw = GetWorkerW();
            }

            User32Wrapper.SetParent(_targeHandler, _parentHandler);

            if (_originalRect != null)
            {
                User32Wrapper.SetWindowPos(_targeHandler, _originalRect.Value);
            }
            Shown = false;
        }
        private void BtnGetOpenedWindows_OnClick(object sender, RoutedEventArgs e)
        {
            _monitorCheckTimer.Elapsed += OnMonitorCheck;
            _monitorCheckTimer.Start();

            //return;
            WinPosition.GetMonitorCount();
            foreach (KeyValuePair <IntPtr, string> window in _winPosition.GetOpenWindows())
            {
                IntPtr handle = window.Key;
                string title  = window.Value;

                var windowRect = new Rectangle();
                User32Wrapper.GetWindowRect(handle, ref windowRect);

                lstBox.Items.Add($"{handle}: {title} : {windowRect}");
                if (title.Contains("iTunes"))
                {
                    User32Wrapper.SetWindowPos(handle, (IntPtr)SpecialWindowHandles.HWND_TOP, windowRect.Left + 1000,
                                               windowRect.Top + 100, windowRect.Right - windowRect.Left, windowRect.Bottom - windowRect.Top,
                                               SetWindowPosFlags.ShowWindow);
                }
            }
        }