当显示器显示通道关闭/切换到不同的源时如何停止调整窗口大小

Hea*_*ace 56 windows-7 display hdmi amd-radeon

我有一个新的 6870 Amd Radeon 适配器,其驱动程序设置为 1080p 60Hz 分辨率,连接到 2008 年 47 英寸高端三星 HDMI 电视。

然而,当电视转向不同的 HDMI 输入时 -(当我回到窗口时)Windows 以某种方式决定将所有打开的应用程序调整为较低的分辨率 - 包括一些侧面停靠的隐藏弹出窗口。但是,当它调整这些大小时 - 它只是将弹出窗口粘贴在屏幕中间,并将所有已调整大小的窗口从左上角的打开应用程序中粘贴出来 - 所有这些都堆叠在彼此的顶部并调整为较小的分辨率。

回来后好像还行的东西是桌面上的图标,任务栏,侧边栏。

任何人都知道 1) 这是如何发生的 2) 为什么会发生 3) 如何阻止它调整应用程序和一些停靠的弹出窗口的大小(返回后它们并没有真正调整大小 - 它们只是卡在中间如果屏幕被调整为较低的分辨率,则右侧或底部侧边栏应该位于屏幕的大致位置)。

我的假设是,在丢失 HDMI 信号时 - 某些东西(驱动程序或 Windows 本身)告诉 Windows 分辨率不存在信号(注意 HDMI 信号和握手在 HDMI 设备上是两种方式。如果它丢失了信号或电视切换到另一台设备 - 然后显示适配器必须弄清楚并告诉 Windows 或计算出来并随机设计以改变显示尺寸)。

非常感谢任何和所有帮助。我问过 AMD/ATI - 但他们说他们不知道为什么或如何发生这种情况。我希望这可能是超级用户真正去的地方——那些开发显示适配器驱动程序的人,或者深入研究这些窗口领域的人。如果有更好的站点或只是竞争站点 - 请告知 - 请注意我已经写了 AMD/ATI。

回应/补充 4/7/2011

很高兴得到你的回复 Shinrai。 (顺便说一句,在这些论坛上进行讨论是适当的礼节吗?) 然而,“只有一个问题”——在这种情况下我使用的是单个显示器——所以 Windows 不会将应用程序窗口移动到另一个桌面。Windows(或其他东西)决定缩小它当前拥有的桌面并将所有窗口的大小调整为桌面的最大大小。因此,如果 Windows 只保留正在运行的一个桌面的当前大小,我会很高兴。

我也知道这不会发生在与 DVI 连接的显示器上。 在那里,我已经设置了一个和两个显示器,并且在断开显示器的连接、关闭它们等时根本不会调整这些屏幕的大小……关闭 - 在不使用控制应用程序实用程序之一的情况下,您将无法找到某些窗口。

因此,如果我什至可以通过 Windows(或显示驱动程序)(1] 执行此操作的 Windows(或显示驱动程序)进行 HDMI 处理,显示驱动程序或 Windows - 和 2] 其他分辨率大小(1024x768)来自哪里 - 它不是最小的并且它不是最大的?)拥有像 DVI - 生活将是金色的(无论如何在这方面)。

** 在此线程中发现其他有相同问题的人:http : //hardforum.com/showthread.php?t=1507324

Aru*_*ius 30

我已经围绕这个问题挖掘了两天,并找到了几种解决方案:

  1. 通用解决方案,软件程序PersistentWindows,可保存所有窗口位置并监控显示。如果分辨率更改并更改回来,那么它会恢复相同的大小和位置!正是我想要的。最新版本刚刚完成它的工作,并且默默地坐在系统托盘中。关联

  2. #1 的叉子。但需要 Windows 10 创意者更新。更好的高 DPI 支持。CPU 效率更高。关联

  3. 对于一些 ATI 用户工作,对于一些不工作,有确认它有效。解决方案是使用注册表破解密钥DMMEnableDDCPolling,完全禁用 Windows 下的监视器连接轮询。需要注意的是,更改后需要重启系统,万一你只需要快速连接一些外屏,不方便。关联

  4. 幸运的是 NVIDIA 卡拥有者。解决方案是将监视器 EDID 信息硬编码到 VGA 驱动程序的文件中,因此系统认为这不会改变。 在 Windows 上管理显示 EDID

  5. HDMI 连接的硬件解决方案,他们在网上和 eBay 上出售他们的适配器。关联

  6. 另一个实用程序Windows 布局管理器,用于保存布局并按需恢复(管理各种布局)。更复杂、更强大,但对普通用户来说可能有点矫枉过正。关联

我坚持使用 #1 一段时间(已经从 2015 年开始:)),如果能找到更多,他们会分享。


小智 12

我的 Radeon R9 遇到了这个问题,我所做的只是在 AMD Catalyst 上禁用 GPU 缩放。

但是不知什么原因还是会出现,先备份一下你的注册表!然后打开您的 Windows 注册表并转到:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
Run Code Online (Sandbox Code Playgroud)

仅在“SIMULATED”或“NOEDID”键(Windows 10)下,将键小数更改为:

PrimSurfSize.cx = 1920
PrimSurfSize.cy = 1080
Run Code Online (Sandbox Code Playgroud)

在“00”下:

ActiveSize.cx = 1920
ActiveSize.cy = 1080
Run Code Online (Sandbox Code Playgroud)

更改为您使用的任何分辨率。当您关闭显示器时,这将防止您的窗口缩小或从一侧移动到另一侧。

  • 更改第一个 00 子项下的“PrimSurfSize”和“Stride”DWORD 值足以解决我的问题。无需修改 ActiveSize 或第二个 00 子项。 (2认同)

Shi*_*rai 5

你的预感是正确的;当您切换输入时,显示器实际上是在关闭该 HDMI 通道上的握手。Windows 7 将此视为“此处不再连接监视器”,此时它会禁用该输出。由于该屏幕不再存在,因此其上的所有内容都必须移到某个地方,因此它会将所有内容拖到您剩余的显示器上,这并不优雅。当显示返回时,Windows 7 会在一定程度上记住您是如何安排事物的,但它不会将您的窗口拖回原处(毕竟您可能在此期间关闭或打开或以其他方式移动了它们!)。

您无法使用可以解决此问题的显示驱动程序做任何事情。这是操作系统的行为,虽然它对您的情况不方便,但它是有道理的。(另一种方法是在显示器上放置实际上并不存在的东西,XP 有时会这样做,让我告诉你这是一场噩梦。)可能有一些第三方软件可以强制这种情况不发生,但我没有知道任何副手,我怀疑你会冒引起其他问题的风险。(如果有人实际上可以发布任何内容,我会很高兴为这些答案投票。)

  • 对此进行扩展:[其他来源](https://social.technet.microsoft.com/Forums/windows/en-US/4d8f3aef-8c04-481b-a69a-ec0fbf3669c2/turning-off-display-resizes-open- windows?forum=w7itproperf#9682b998-5572-4e36-96eb-03858d5b2241) 建议在这种情况下,如果您只连接了一个实际显示器,“您的剩余显示器”将包括“通用非 PNP VGA”。(有关上下文,请参阅紧接在链接帖子上方的帖子。) (2认同)