不使用时,我将多显示器系统置于睡眠状态。唤醒后,所有窗口都重新定位到另一个屏幕。我能想到的最接近的模式是主屏幕上的窗口切换到第二个屏幕。看起来它在进入睡眠状态之前已断开主屏幕的连接,这又将所有窗口切换到第二或第三屏幕。
编辑:这是我正在使用的视频卡-> SAPPHIRE FleX 100322FLEX Radeon HD 6450
不使用时,我将多显示器系统置于睡眠状态。唤醒后,所有窗口都重新定位到另一个屏幕。我能想到的最接近的模式是主屏幕上的窗口切换到第二个屏幕。看起来它在进入睡眠状态之前已断开主屏幕的连接,这又将所有窗口切换到第二或第三屏幕。
编辑:这是我正在使用的视频卡-> SAPPHIRE FleX 100322FLEX Radeon HD 6450
Answers:
该问题最有可能与图形驱动程序有关。每当从Windows中的多监视器设置断开单个监视器时,Windows都会尝试将所有内容从该屏幕移至其余屏幕。通常,在挂起/休眠/关闭计算机时不会发生这种情况。因此,可能是由于图形驱动程序执行以下操作之一:
请访问芯片组制造商的网站,检查图形驱动程序是否有更新。
这是一个古老的问题,但是如果有人遇到同样的问题,我建议尝试这里发布的解决方案:
我正在运行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...
设置。因此出于某种原因,其中一个配置未正确设置。
我不知道为什么有三个配置,我只用过一个监视器。
如果您的计算机装有Intel HD Graphics,则必须在Intel Graphics Control Panel中设置“扩展显示”选项(和分辨率设置)。如果从Windows Display设置执行此操作,则将其从睡眠模式唤醒后将重置。
这是屏幕截图。
我想我通过结合这些帖子中的想法找到了解决此问题的方法。
(我的电脑是Windows 10 TH2,带HDMI端口的Intel HD4600,长虹4k显示器)
这是步骤。
删除... GraphicDrivers \ Configuration和GraphicDrivers \ Connectivity下的所有其他注册表项,仅保留与我的监视器相对应的条目(MST00301 ...)
在使显示器进入睡眠状态之前,只需键入“ WIN” +“ D”组合键以最小化所有桌面窗口。
打开监视器后,再次键入“ WIN” +“ D”以还原所有窗口。
通常,这是由于图形驱动程序未正确支持睡眠模式而导致的,因此会在计算机进入睡眠状态时禁用检测已连接显示器的功能。
从制造商那里更新您的图形驱动程序以解决此问题。
如果更新驱动程序后问题仍未解决,则可能是由于异常报告的显示ID(EDID)所致。通常,您可以在图形驱动程序控制面板中强制检测监视器。
但是,如果此选项不可用,则可以在断开显示器的情况下使用Windows分辨率窗口检测设备,然后选择将报告“另一个未连接的显示器”的显示器,然后在“多个显示器”下单击并选择“尝试仍然连接”,它将通过您选择的端口类型向显示器广播信号(该信号将不是交互式的),然后连接显示器,显示器应正确解释发送给它的信号。
强制分辨率将覆盖对屏幕的检测,并且应在睡眠中持续存在。
在我的情况下,水平放置三个1920x1080显示器,似乎已经解决了,方法是转到其他答案(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
)中提到的注册表项,找到以开头的项SIMULATED
,然后将该键下的1920的所有值更改为5760(1920乘以三个,则为三个监视器)。
我猜想该SIMULATED
密钥用于PC进入睡眠状态,但是Windows仍需要在进入睡眠状态或从睡眠状态恢复的过程中维护台式机,即使实际的监视器可能尚未报告自己。
对我来说,解决方法是https://superuser.com/a/908156/238666。摘要:Windows在唤醒时无法从监视器读取EDID信息,并且在Nvidia控制面板中,您可以将EDID信息保存到文件中,并将PC设置为从该文件中读取它,位于“任务:工作站,查看系统”下。拓扑,EDID源。
以我的有限观点,根本问题可能是Nvidia卡,也可能是Windows,DisplayPort或显示器(联想X1 4K)
我用这个小应用程序解决了:https :
//github.com/hunkydoryrepair/MonitorKeeper/releases
只需运行它,它将在相同的位置维护窗口。
非常感谢@hunkydoryrepair。
不管喜欢与否,但是根据戴尔针对特定4k显示器的已知问题,链接:http : //www.dell.com/support/Article/us/en/19/SLN295708/EN 我必须从59 / 60Hz切换到30Hz我的3 x Dell 4600上的Dell P2415Q 4K UHD与显示器的现货DP / mDP相连,这对我很有帮助-如Dell KB文章所述。它也适用于UP3214Q和P2715Q。
在分辨率较低的QHD Dell U2515H +相同的视频/ PC上未显示该问题
注册表项删除和驱动程序更新无济于事。
更新2018/08:将图形卡升级到NVIDIA Quadro P600并没有解决问题,因此保持30Hz。