当多显示器系统不使用时,我会将其置于睡眠状态。唤醒后,所有窗口都会重新定位到不同的屏幕上。我能想到的最接近的模式是主屏幕上的窗口切换到第二个屏幕。它似乎在进入睡眠状态之前断开了主屏幕的连接,从而将所有窗口切换到第二个或第三个屏幕。
编辑:这是我正在使用的显卡——> SAPPHIRE FleX 100322FLEX Radeon HD 6450
答案1
问题很可能出在显卡驱动程序上。每当 Windows 中的多显示器设置中单个显示器断开连接时,Windows 都会尝试将该屏幕上的所有内容移到其余屏幕上。通常,在挂起/休眠/关闭计算机时不会发生这种情况。因此,这可能是因为显卡驱动程序执行了以下某项操作:
- 当您让计算机进入睡眠状态时“断开”显示器,因此当 Windows 唤醒时,它必须重新确定所有内容的放置位置。
- 每次将计算机从睡眠状态唤醒时,都会以不同的顺序识别显示器,从而强制 Windows 重新排列您的应用程序窗口。
请访问芯片组制造商的网站,检查您的显卡驱动程序是否有更新。
答案2
这是一个老问题,但如果有人遇到同样的问题,我建议尝试这里发布的解决方案:
我在运行 Windows 8.1,在 DisplayPort 上有两个 2560x1440 显示器。从睡眠状态唤醒时,我的所有窗口都被推送到一个显示器上,其中一些窗口的大小被调整了。这为我解决了这个问题;现在我的所有窗口位置和大小都保留了下来。以下是相关链接内容:
我找到了一个解决方法。使用 Sysinternals ProcessMonitor 我发现 Windows 正在访问以下注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
我的系统有三个条目:
DELF003YY7707BR0MUL_30_07D7_6A^9A3774EB79DEE3E3E38496CC7DF4D936
QHD32000001_31_07D6_D5^63E1ABDD175E7871DCAEB710418A0F75
SIMULATED_8086_2A42_00000000_00020000_1010100^CDE365D1B3F0942F0CF38BFB8E127AB4
每个钥匙下都有一棵树,名为
00
。其中两个钥匙是:
PrimSurfSize.cx
PrimSurfSize.cy
下面
00
是另一个分支,也称为00
。其中两个键是:
ActiveSize.cx
ActiveSize.cy
在前两个配置(即
DELF00...
&QHD3...
)中,上述键为 1440x900,因此不涉及它们。第三个(
SIMULATED...
)设置为1024x768。我将其改为 1600x900,问题就解决了。
此外,我通过控制面板将分辨率更改为 1920x1080,移动/调整大小问题再次出现,但右下角设置为 1600x900,即设置
SIMULATED...
。因此由于某种原因,其中一个配置没有正确设置。
我不知道为什么有三个配置,我只使用过一个显示器。
答案3
答案4
我认为我找到了解决这个问题的方法,结合了这些帖子。
(我的电脑是 Windows 10 TH2、带 HDMI 端口的 Intel HD4600、长虹 4k 显示器)
具体流程如下。
删除 ...GraphicDrivers\Configuration 和 GraphicDrivers\Connectivity 下的所有多余的注册表项,只留下与我的显示器相对应的项(MST00301...)
在使显示器进入睡眠状态之前,只需输入“WIN”+“D”组合键即可最小化所有桌面窗口。
打开显示器后,再次输入“WIN”+“D”可恢复所有窗口。