监视器显示通道关闭/切换到其他源时如何停止调整窗口大小


44

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

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

返回后似乎没问题的是桌面,任务栏和边栏上的图标。

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

我的假设是,当HDMI信号丢失时-Windows会被某些信息(驱动程序或Windows本身)告知没有信号的分辨率(请注意HDMI信号和握手是HDMI设备上的两种方式)。信号或电视切换到另一台设备-然后显示适配器必须弄清楚并告诉Windows或弄清楚它,然后随机设计以更改显示尺寸。

任何帮助都深表感谢。我问AMD / ATI-但他们说他们不知道为什么或如何发生。我希望也许这是超级用户真正去的地方-开发显示适配器驱动程序的人,或者深入研究这些窗口区域的人。如果有更好的网站或只是竞争网站-请告知-注意我已经写过AMD / ATI。

响应/增加2011/4/7

得到您的回复真是太好了。 (顺便说一句,在这些论坛上进行讨论是否适当的礼节??) 但是,“仅一个问题”- 在这种情况下,我使用的是单个显示器 -因此Windows不会将应用程序窗口移至另一个桌面。Windows(或其他方式)决定缩小其当前拥有的桌面,并将所有窗口的大小调整为桌面的最大大小。因此,如果Windows仅保留正在运行的一个桌面的当前大小,我将感到高兴。

我也知道在连接DVI的显示器上不会发生这种情况。 在那里,我有一个和两个监视器设置,并且在断开监视器,关闭监视器等操作时根本不调整那些屏幕的大小……无论它们保持牢固-放置在适当的地方-如果您忘记了另一台监视器,已关闭-如果不使用Control App实用程序之一,就很难找到一些窗口。

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

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


直到今天我才看到你的回应。您应该在我的回答上留下评论,而不要对您的问题进行编辑,因为这既不好,也不会通知我。也就是说,问题仍然是硬件问题,因此无需购买另一台显示器或添加一些东西来欺骗您可能不走运的信号。
井2011年

Answers:


25

我已经围绕该问题进行了两天的研究,发现了几种类型的解决方案:

  1. 通用解决方案,软件程序PersistentWindows,它保存所有窗口的位置并监视显示。如果更改分辨率并变回原来的分辨率,则它将恢复相同的大小和位置!正是我想要的。最新版本可以正常工作,并且默默地位于systray中。链接

  2. 对于某些ATI用户可以工作的东西,对于某些不起作用的用户,则确认它可以工作。解决方案是使用带有注册表项的注册表hack DMMEnableDDCPolling,以完全禁用Windows下的监视器连接轮询。需要注意的是,您需要在更改后重新启动系统,并且如果您只需要快速连接一些外部屏幕,就不方便了。链接

  3. 幸运的是NVIDIA卡的所有者。解决方案是将显示器的EDID信息硬编码到VGA驱动器上,因此系统认为这不会改变。链接

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

  5. Windows布局管理器是另一个实用程序,用于保存布局并按需还原(管理各种布局)。更复杂,功能更强大,但对于家庭用户而言可能过于矫kill过正。链接

我坚持使用#1一段时间(自2015年以来:)),如果能找到更多,那就分享。


1
我收到了其他一些反馈,并将其转变为Systray应用。感谢您的参考和享受!
2015年

选项1适用于我的4k Seiki SE39UY04。
DharmaTurtle

对于幸运的NVIDIA卡所有者-选中此项,对我很有帮助!:) sites.google.com/site/ebobster/stuff/displayportblanking
maycca

在将包引用添加到配置文件后,我向您发送了拉取请求@Min,否则NuGet将会失败。如果您接受,我将向您发送一个带有“运行Windows”选项的新邮件。
汤姆(Tom)

我的问题是分辨率更改后,桌面图标的位置正在移动。我决定通过创建一种非常轻量级的服务来解决此问题,该服务可以在分辨率自动更改后保存/恢复桌面图标。看看:github.com/TomONeill/persistentdesktopicons
Tom

9

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

但是由于某种原因仍然会发生,请先备份您的注册表!然后打开Windows注册表,然后转到:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

仅在“ SIMULATED”键下,将键的小数位更改为:

PrimSurfSize.cx = 1920
PrimSurfSize.cy = 1080

在“ 00”下:

ActiveSize.cx = 1920
ActiveSize.cy = 1080

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


这将停止调整窗口的大小,但是对我来说不幸的是,这并不能阻止它们全部移到角落。
汤姆·卡彭特

谢谢,这为我解决了!无需重启;Windows不会迁移到角落。我有2个HDMI外接显示器,如果我在不打开盖子的情况下简单地对接和重新对接,就会发生问题(在其他情况下)。显然,显示系统正在循环显示某些分辨率为1024x768的显示器。当然,窗口确实会迁移到主显示,这是可以理解的。这是戴尔笔记本采用Intel HD显卡520
杰夫Learman

有趣。似乎在Win 7上,最大模拟分辨率为1600x1200。或者至少,如果我尝试将键设置为大于此值的任何值,似乎会忽略它们。因此,对于UHD显示器而言,这很烦人
Tom Carpenter

3

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

显示驱动程序无法解决此问题。这是操作系统的行为,虽然对您的情况不便,但是这很有意义。(另一种选择是在监视器上不存在实际存在的东西,XP有时会这样做,让我告诉你这是一场噩梦。)可能有些第三方软件可以迫使这种情况不发生,但我没有知道有任何不利影响,我怀疑您会冒造成其他问题的风险。(如果有人可以实际发表任何文章,我将很乐意赞成这些答案。)


我有类似的设置,笔记本电脑通过HDMI连接到我的索尼电视。但是,当我切换输入或什至关闭电视时,返回笔记本电脑输入时,一切都与我离开时完全相同。Windows保持最大化并覆盖整个桌面,侧边栏小工具保持不变,而桌面图标则位于我离开的地方。这使我认为Windows并不是问题,而是Windows的设置方式(硬件或驱动程序),或者与HDMI上的电视握手方式有关的问题。
康纳W

另外,笔记本电脑中的图形卡是ATI卡(ATI Radeon HD 4530),因此它使用的是我想象中使用的同一“ ATI Catlyst Control Center”(特定版本为2010.0706.2128.36662)。问题。
康纳W

@Connor W-基本上就是我所说的。在这种情况下,监视器使Windows认为它们已断开连接,并且在这种情况下,一切都变得混乱了。显然,您的电视不能执行相同的操作,但这不是Windows的错误(正如我在此处所述)。
井2011年

3

无需其他硬件

  1. 在出现问题的计算机上安装TeamViewerChrome远程桌面,然后启用远程连接。
  2. 关闭电视/显示器。
  3. 分辨率自行改变
  4. 使用步骤1中的软件远程登录计算机。如问题所述,分辨率已更改。
  5. 使用远程连接将分辨率恢复到正常(电视/显示器打开时即是如此)。
  6. 当电视/显示器关闭时,分辨率将不再切换。

我没有想到这一点,我认为这是一个非常聪明的解决方案。我检查了这是否对我有用,但是我发现打开电视而不是关闭电视时,分辨率会发生变化。它很快又变回原始分辨率,太快而无法在短时间内更改分辨率。
汤姆(Tom)

@Tom也许也尝试拔掉电视的电源?
brismuth

2

您的问题听起来像是此处所述的一种变体,这也是HDMI握手丢失的原因。相同的硬件解决方案可能对您有用:在PC和电视之间放置一个Apogee 3x1 HDMI迷你切换器,它将使PC认为未断开连接。我不知道是否有任何HDMI切换器可以工作,或者不知道以上链接中推荐的Apogee。


2

经过数月的无奈,终于找到了这个线程,我发现了一种似乎可以用于我的单一显示器设置(Windows 7 x64 + 24英寸Insignia TV)的解决方法。这是David M.解决方案的概括,具有以下优点:

  • 不需要HDMI / DVI适配器
  • 可以使用VGA电缆代替DVI电缆+适配器
  • 保持HDMI音频输出(对于我的电视而言至关重要,它的模糊模拟VGA输入仅支持音频输入)

但是,需要在电视上提供免费的VGA(PC)输入,并且两条电缆用于设置:

  1. 使用HDMI电缆将PC连接到电视
  2. 同时使用VGA电缆将PC连接到电视
  3. 控制面板>显示>多个显示>复制这些显示

另外,步骤2中的DVI电缆+ DVI / HDMI适配器也可以工作;关键观察是David M.指出DVI可以正常工作。

现在,当我重新启动电视或更改电视上的输入源时,窗户不会收缩或堆叠到左上方。不确定这是否仅因为我的电视太低端而起作用了...


2

此问题是由于当连接监视器/电视的HDMI /显示端口“关闭”或“切换到”不同的输入时,Windows 7/8的“功能”烦人,无法重新安排应用程序窗口。

如果使用HDMI连接,则存在硬件解决方法。在ebay上搜索“显示器检测”,即可获利约20美元。它可以在具有HDMI连接功能的Seiki 39英寸4K电视上为我工作。


1

我在LG 42英寸电视上遇到了同样的问题。在阅读了有关将信号欺骗到Windows的信息后,我想到了一些东西。我有一个不再使用的DVI-HDMI适配器。将其插入我的DVI端口中视频卡,然后再插入HDMI,不再出现Windows调整大小等问题,因此碰巧是一个非常简单的修复程序,您可以在RadioShack或几乎任何电子商店中购买它们,我很高兴弄清楚了,希望对其他人有用。


1

研究相同的问题后,我发现此线程声称可以通过在注册表中弄乱来修复它。我还找到一个声称自己是使用DisplayPort的结果的人的线程

我尝试了注册表修复程序,但似乎没有用(尽管我没有重新启动,如果有所作为)。此外,行为异常的设备已从显示器的DVI端口连接到图形卡的显示端口,但是很遗憾,由于没有合适的适配器,我无法确认第二个帐户。但是,我认为这可能有用。

编辑:好的,我很拼命,实际上开车出去借电缆进行这种尝试。从带有DVI / DisplayPort适配器电缆的DVI-I电缆到单电缆DVI-I / HDMI电缆的更改已为我解决。对我来说,这要么暗示它确实是DisplayPort的问题(如HardForum上的人员所建议的那样),要么是使用电缆适配器的副作用。无论哪种方式,都乐于完成。



0

如果您使用的是ATI,则需要在注册表中的HKEY_LOCAL_MACHINE > System名为下创建一个新密钥DMMEnableDDCPolling。将“值”设置为0。它使视频卡无法轮询以查看是否仍基本连接。

如果您使用的不是ATI,请在注册表中搜索注册表项DMMEnableDDCPolling并将其值设置为零。注意:钥匙可以存在多个位置。根据我的阅读,对于该键的每个实例,您都必须将值替换为0。

来源


0

万一其他人遇到这种情况,我将添加我的“修复”。当我将Windows 8.1放到电视上时,我发现它们调整了所有Windows /程序的大小。(通过HDMI端口连接到我的笔记本电脑。)我必须访问屏幕分辨率菜单,选择“使文本和其他项目变大或变小”,选择“让我为Alle显示器选择一种尺寸”,然后让它们停留在100%。完成!


0

自2016年11月将Windows 10计算机升级到TH2以来,我遇到了类似的问题。

由于各种副作用,电视电源循环在我的应用程序和台式机上产生,我最终意识到,关闭电视并打开电视会导致Windows 10触发分辨率和/或字体大小/ DPI的更改。

经过一番研究,我通过执行以下操作为所有虚拟和物理显示器强制使用相同的DPI:

  • 进去Control Panel\Appearance and Personalization\Display
  • 点击set custom scaling level
  • 将其设置为任何适合您的内容。100%对我来说很好。

是有关如何调整缩放比例的链接。


0

我在使用计算机进入屏幕保护程序时遇到了这个问题。恢复后,我的窗户被调整了尺寸。我通过更改为另一个屏幕保护程序然后恢复为“照片幻灯片放映”屏幕保护程序来解决了该问题。


请仔细阅读问题。您的答案没有回答原始问题,该问题与切换显示器输入而不是屏幕保护程序有关。
DavidPostill

0

我能够通过进入催化剂控制中心并启用强制涡流仿真来阻止此分辨率更改。固定!!当然,您需要一张AMD卡,并且该功能必须存在,但我想NVIDIA也应该具有类似的功能。


0

这是一个非常老的问题,但是我实际上为Windows 10用户提供了一个非常简单的修复程序(不确定是否适用于7和8)。

我特别希望我的窗口记住它们的位置,并使用KVM在两台计算机之间切换,但是每当我切换回去时,所有的窗口都将移回主显示器。

我发现,如果您在进行切换之前,单击任务栏右下角的小“最小化所有Windows”小条,则当您回来时,可以再次单击它,窗口将返回其先前位置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.