win7:将所有窗口移至主显示器或单独的显示器

win7:将所有窗口移至主显示器或单独的显示器

设置

我有几个多显示器设置,其中主显示屏会发生变化,但当前目标设置是这样的:

  • 惠普 zbook 15 g2
  • 2 个 acer hul WQHD,带菊花链连接

步骤 1/问题 1

退出待机状态后,我必须先关闭菊花链显示器(如果它只是处于待机状态),然后再打开,否则无法识别第二个显示器。

附言:我猜这是一个驱动程序/zbook 问题,因此我不指望这个问题有解决方案,但这将是一个额外的好处;)——因为我在 GTX 960 上使用相同的设置没有遇到这个问题。

问题 2

完成此操作后,显示配置已正确恢复,主显示器设置也正确;但是:我的所有窗口仍然在笔记本电脑显示屏上,它现在是第三个显示屏,且使用最少。

通缉

我想要的是将所有窗口(作为超级用户/高级用户/开发人员,我打开了 20 多个)移至主显示屏。

有谁知道有什么工具可以把所有窗口移到主显示屏吗?如果没有,我就自己写脚本/程序了。

当前的解决方法

我知道 win+shift+箭头快捷键,但我必须对所有窗口执行此操作,这就是我现在正在做的,但它很麻烦!

不起作用的想法

  • 禁用笔记本电脑显示屏,然后重新激活它
  • 切换主显示屏

答案1

我也遇到了同样的问题。

我发现显示融合解决了我的大部分三重显示问题。

我使用的脚本与显示融合如下

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;

// The 'windowHandle' parameter will contain the window handle for the:
// - Active window when run by hotkey
// - Window Location target when run by a Window Location rule
// - TitleBar Button owner when run by a TitleBar Button
// - Jump List owner when run from a Taskbar Jump List
// - Currently focused window if none of these match

public static class DisplayFusionFunction
{
    public static void Run(IntPtr windowHandle)
    {
        // get visible window handles
        IntPtr[] handles = BFS.Window.GetVisibleWindowHandles();

        // loop through window handles and send each to the next monitor
        for (int i = 0; i < handles.Length; i++)
            BFS.Window.MoveToNextMonitor(handles[i]);
    }
}

https://www.displayfusion.com/

相关内容