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; }
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); } } }