Windows 10不再允许拖动伪最大化的窗口。有解决方案吗?


12

在Windows 10下,我无法再在伪最大化的窗口周围拖动。例如,“最大化”到最大大小为1280x1024(根据我的.rdp文件)的远程桌面窗口必须还原为较小的大小,然后拖动,然后还原,即使窗口本身未最大化为最大大小也是如此。监视器的工作区。在Windows 8.1(或Windows的其他版本)中,以前这不是问题。

我已经做了一些调查研究。这是我调查过的一些东西,发现不是原因或有帮助:

  • Windows的AeroSnap设置或可用性
  • 视频驱动程序功能或设置
  • 其他第三方监视器或任务栏实用程序

我拥有的以这种方式最大化的任何软件都必须锁定,并且必须还原后才能立即拖动,包括上述的远程桌面,我在窗口模式下玩的一些游戏等。其他未最大化的应用程序当然不会有这个问题。

可以在.NET中构建测试应用程序以演示此问题。只需使用一个具有500.500之类的任意值的Form.MaximizedBounds构建WinForms应用程序,并在启动时将窗体最大化(Form.WindowState = Maximized)。在Windows 8.1(及更早版本)下,可以在屏幕上拖动它而不会出现问题,但是在Windows 10下则不能。

有谁知道提供什么以及是否有任何解决方法?


我似乎可以在Windows 10计算机上毫无问题地拖动固定大小的窗口。您是否正在使用单个监视器?因为我使用倍数。
亚瑟·凯

这是水平排列的三重监视器设置(在Windows 8.1中是这样)。欢迎提出尝试方面的建议。请注意,固定大小的问题不是问题,特别是最大化窗口的问题。
psouza4,2015年

只是为了吸引人。Windows10将RDP最大化到其受限制的大小,我可以移动它。
Unfundednut

这是使用新的格式化驱动器进行的干净的Windows 10安装(不是升级),该驱动器主要使用默认设置,并且通过使用默认设置的GeForce体验使用nVidia显示驱动程序。如果您可以提出一个我可以调整的设置以解决此问题,请提供答案,以便我确认并授予赏金。
psouza4 2015年

1
仅供参考,我创建了一个.NET Windows窗体应用程序,MaximizedBounds = new Rectangle(500,500, 500, 500); WindowState = FormWindowState.Maximized;并且能够将其从最大化模式中拖动出来。窗口立即变为正常状态,并移动到我想要的位置。(.NET 4.6)
Mik 2015年

Answers:


2

我知道这是一个古老的话题,但是自从切换到Windows 10以来,这一直困扰着我,而我昨晚才解决了这个问题。因此,我正在回答这个问题,可能会对其他人有所帮助。

首先,我的情况。我从家庭办公室管理大约16台服务器。我已经为每个服务器创建了保存的RDP连接到桌面。每天,我使用这些连接登录到每台服务器以检查日志,硬件状态等。我一次完成所有操作,因此,每天至少一次,我一次打开16个RDP窗口。不断缩小的尺寸,并紧贴屏幕边缘,这让我发疯了!

这是我所做的修复工作...

通过右键单击每个保存的RDP连接,然后选择“打开方式”,然后选择“记事本”,您可以进入一个纯文本文件,该文件定义了RDP连接(与典型的GUI RDP属性面板相反)。在每个保存的连接上,我更改了以下4个参数:屏幕模式ID,desktopwidth,desktopheight和winposstr!这是我典型的保存的RDP连接之一上的外观:

screen mode id:i:1
desktopwidth:i:1280
desktopheight:i:1024    
winposstr:s:0,3,1575,160,2900,1230

屏幕模式ID必须设置为1。这会使远程会话出现在窗口中。

桌面的宽度和高度是不言而喻的……但是,只要它们小于正在查看它们的屏幕,它们就可以是任何东西。

Winposstr是重要的。当您打开保存的RDP连接文件时,与第三和第四参数相比,此参数的第五和第六值将比我的示例小得多。您必须编辑最后两个值...使它们变大!要使您的RDP窗口打开全尺寸,您必须分别在第三个和第四个数字上添加所需的垂直和水平分辨率(再加上一点额外的分辨率)。因此,1575+1280=2855。确切地说,如果将该数字输入第五个值,您仍然会看到滚动条。因此,在这种情况下,我的系统上输入2900。同样,输入160 + 1024 = 1184。1200仍然给我滚动条,所以我尝试了1230,它奏效了。

我还没有花时间弄清楚第三个和第四个数字分别代表什么。显然,他们正在以某种方式定义窗口在我的屏幕上的位置,但是我只是还没有弄清确切的关系。这些数字可能对您来说是不同的...当您保存自己的RDP连接文件时,它们可能会有所不同,因为您的设置与我的设置不同。但关键是,您必须将所需RDP窗口的水平和垂直分辨率添加到第三个和第四个数字(无论它们是多少),再加上一点额外的费用,然后用得到的结果替换第五个和第六个数字!

进行更改后,保存文件并关闭它。然后,当您双击该RDP连接时,它应该打开完整尺寸,并且可以拖动到所需的任何位置,而不会自动缩小尺寸!!!

在我的系统上,由上面的参数定义的RDP会话的左上角将是从屏幕顶部向下0像素,而从屏幕左边缘3像素。您可以通过编辑这些值来更改初始位置...例如,10,10会将其向下放置10个像素,向左放置10个像素。但是,如果您将这些值相加,则还必须同时添加第5和第6值。就像我说的,我还没有弄清楚确切的关系...只是知道,如果您更改了这些关系,则可能还必须增加第5和第6个值,以避免滚动条。

最后,在我的系统上,我未选中“防止移至屏幕边缘时自动布置窗口”参数(在“轻松访问中心”的“使鼠标更易于使用”部分中)。


欢迎来到超级用户。阅读您的答案很清楚,您有一个可行的解决方案,但是“超级用户”是一个Q&A网站(相对于论坛),并且希望答案能够避免会话细节。请编辑您的内容,以将更多精力放在实现解决方案所需的特定步骤上。太多的细节使其他用户难以使用您的答案。感谢您的贡献。
我说恢复莫妮卡

不幸的是,对于上述问题,这也不是可接受的解决方案,该问题特定于Windows 10,而不是终端服务/远程桌面。尽管在RDP会话中发现了问题,但在其他应用程序中也发现了问题(如我的帖子所述)。另外,您评论中的“防止...显示窗口”是AeroSnap的一部分,已经对此进行了讨论。尽管您可能发现了一个应用程序(RDP会话)的变通办法,但它不能解决许多伪最大化的其他问题,因此无法接受。感谢您的详细尝试。
psouza4

0

首先是一些背景资料。我经常使用多个RDP会话同时连接到不同的远程系统。在具有两个监视器的系统上,每个RDP窗口配置为1280x768,其中每个监视器为1920x1080。

在Win 10上,当我打开RDP窗口时,伪最大化的窗口被卡在左上角,无法将其拖动到任何地方。正如您所报告的,RDP窗口在Win 7和8上的行为有所不同。

但是,我最近发现了一种解决方法。

在Win 10上,打开RDP会话后,“最大化” RDP窗口。通过水平和垂直滚动条将其变为一半大小。手动调整RDP窗口大小的一半,直到滚动条消失。现在,您可以将手动“伪最大化”的RDP窗口拖到任何地方,就像在Win 7和8上一样。如果您不小心双击标题栏,则RDP窗口会跳回到左上角,自动“伪最大化”并再次变得不动。

尽管这不是一个完美的解决方法,但我可以接受。


此答案不能解决所有伪最大化窗口的问题。使用与RDP会话和其他评论无关的示例应用程序查看我的原始帖子。重点不是RDP会话。
psouza4 '17

-1

如果我以您的评论为最准确的信息,则可能会出现这样的情况,即窗口大小在移动时不会保持其最大化状态,但并不需要您首先按照问题中最初所述的那样将其最小化。

假设上述情况是正确的,那么我在多显示器设置(适用于Windows 7、8和10)中使用的工作流程会将最大化的窗口从其当前位置拖动(从而使窗口调整为较小的尺寸),到另一个屏幕的顶部,这会将窗口放回其最大化状态。这也可以使尚未最大化的窗口最大化。


如果上述方法不是可接受的解决方法,并且您已经尝试了“多任务”>“捕捉”中的选项,则可能会解决注册表编辑问题。Windows 8和10中存在WindowArrangementActive控制此答案中详述的Aero Snap 的相同条目:https : //superuser.com/a/222609/61471


不幸的是,我相信我的原始问题及其所附的评论将您的答案描述为不可接受的建议。在Windows OS的早期版本(Windows 10之前的版本)中看到的行为将允许窗口以其完全最大化状态(伪最大化,例如硬最大化RDP窗口)拖动,而无需对其最大化状态进行任何更改并禁用Windows Aero。即使在非多监视器设置中,也可以在不更改窗口大小的情况下将伪最大化RDP会话从屏幕的一个区域拖到另一个区域。它不再在Windows 10的情况下
psouza4

-1

刚找到答案。我自己也遇到了同样的问题。在系统属性中,单击多任务。然后打开“通过将窗口拖动到屏幕的侧面或角落自动排列窗口”解决了每个监视器上锁定的最大化网页的问题。3显示器设置在这里。希望这可以帮助。


无论如何,这都不是所描述问题的解决方案。您评论中的设置是AeroSnap的一部分,已经进行了讨论。该问题在伪最大化窗口(处于最大化状态而未填充整个监视器的窗口,例如RDP连接)中普遍存在。
psouza4

-1

我们在未来要领先几年,我为您提供了更简单的解决方案。使用记事本编辑保存的.rdp文件,并在“ smart sizing”行下添加以下内容,以使RDP会话窗口最大化到您指定的分辨率。

智能尺寸:i:1


您能详细说明一下吗?
Toto

这可能是一个程序的解决方法,但不能纠正或替代所需的行为。RDP就是这样的一个例子,可以在Windows上很容易地对其进行测试,但它并不是唯一的冒犯性应用。
psouza4
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.