设置
我有几个多显示器设置,其中主显示屏会发生变化,但当前目标设置是这样的:
- 惠普 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]);
}
}