笔记:
我读过几种解决该问题的方法,所有这些方法似乎都涉及在注册表中查找一个HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
以 为前缀的键SIMULATED_
。我在那里没有这样的键。我只有两个键:一个代表我的 3 个显示器中的两个,另一个代表所有三个。
我尝试删除所有文件HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
并HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity
重新启动。这重置了我的显示器设置,我不得不重新排列桌面……但问题仍然时不时出现。
编辑1:
我刚刚注意到,当我唤醒显示器时,我的中央显示器的分辨率设置为 1920x1080,而侧面显示器的分辨率为 2560x1440。因此,分辨率不知何故会随机更改,并且(大多数情况下)会恢复原样,从而导致窗口发生变化。
还有几次,我注意到我的所有桌面图标都被移到了另一个屏幕上(我将它们放在中间),尽管中间屏幕是 Windows 中的“主”屏幕。所以,这里似乎两个显示器只是在设置中随机交换了位置。
这是我的相关注册表设置的屏幕截图。我选择了其中一个注册表项,但下面的其他两个似乎完全相同。
我有三台华硕 PB278Q 显示器(27 英寸 2560x1440),自从去年从 Windows 8.1 升级到 Windows 10 以来,一直遇到问题。我经常将两个特定的窗口并排固定在一台显示器上,当我经过很长一段时间后回到电脑前时,我发现有时(但并非总是如此)窗口的位置不再正确。它们在同一台显示器上,但好像分辨率在一夜之间发生了变化,现在窗口不在原来的位置了。
在我的另一台显示器上,我发现有时(但并非总是)窗口会完全移动到我的中央显示器。
我最左边的显示器通过双链路 DVI 连接,而中间(主)和右边的显示器通过 DisplayPort 连接。
三台显示器均启用了 DDC/CI。
我有一台 NVidia GTX 960,其驱动程序相当新(如果不是最新)。
答案1
根据您的描述,您的问题似乎主要出在 DisplayPort 端口上。Windows 下的 DisplayPort 端口的实现方式与 VGA 和 DVI 端口不同,当它们进入睡眠状态时,Windows 会将它们视为已移除,甚至会将它们显示的窗口移到其他显示器上。当显示器唤醒时,Windows 会将其视为正在发现的新设备。此行为可能是导致您出现问题的原因。
一个解决方案可能是禁用显示器的睡眠功能:
- 打开控制面板/电源选项
- 对于您的电源计划,请点击
Change plan settings
Turn off display
将下拉框更改为Never
- 点击
Save changes
我还看到一些报告称,USB Selective suspend
在控制面板/电源选项/更改计划设置/更改高级/电源设置/USB 设置下取消设置会有所帮助。这些报告值得怀疑,因为显示器不是 USB 设备,但这可能值得一试。
另一种解决方案是保留 DisplayPort 显示器的 EDID 属性,这将阻止 Windows 验证 DisplayPort 显示器是否持续存在,从而无法检测到它们处于睡眠状态。
对于这个解决方案,请参阅我的这些答案:
答案2
老实说,我只能说对我有用的方法。
在我看来,您正在寻找解决方案,而这确实是一个很好的解决方案。您真的不必在注册表中乱搞就能实现您想要实现的目标。
这是工具:http://dualmonitortool.sourceforge.net
这是我当前设置的工具截图。您可以看到我设置了多个分辨率和许多显示器。对我来说,一切都没有改变,我只需设置一次,就不会再出现问题。
最近我甚至禁用了 Windows 的自动启动功能,但问题没有再出现。对我来说,这感觉就像该工具以某种方式进行了你正在寻找的那些注册表更改。