是否可以使Windows 10的不可见窗口边框变为可见?


15

场景


这是对不了解以下信息的人的简要介绍:

新的Windows 10的平面窗口样式使用与以前的Windows版本不同的窗口边界机制,这在调整窗口大小和定位窗口的意义上以可怕的方式影响了窗口的外观及其用法。

Windows 10默认情况下为1 px。可见边框,请注意“可见”一词,因为现实是边框宽度更大,只是一个不可见的边框,即Windows 10使用它的边框图像资源仅填充1 px。窗口边框的实际宽度,无论边框宽度有多大,您始终只会看到1 px。边界,在这里您可以自己想象会导致的问题。

与以前的Windows版本一样,在Windows 10中,您可以执行一些注册表更改以增加窗口边框的宽度,这是Windows 8的示例:

在此处输入图片说明

在此处输入图片说明

但是,对于Windows 10的(不良设计)“规则” ,如果用户尝试在此OS中重现相同的注册表技巧,则窗口方面将不会发生任何变化,最终会出现geater边框,是的,但请记住只有1 px。该边框的边界将可见,因此您最终将拥有该死的1 px。带有大而烦人的隐形调整手柄的可见边框。

Microsoft的这种糟糕,糟糕,不友好和可怕的设计决定是事实,也存在许多喜欢此1 px的用户的事实。边框方面,他们的观点是可重复的,但是,老实说,那些用户只将自己的观点固定在OS方面,他们没有注意到1 px的错误行为。边框可能会导致最终用户的工作效率和舒适度下降,即使是尝试移动窗口或试图区分哪个窗口移到另一个窗口等简单的事情,因为所有窗口的边框都是不可见的。

已在与Windows 10个性化相关的“所有” Internet论坛上讨论了此问题,以下是您感兴趣的Microsoft Community线程上一个简单但永无止境的讨论主题:

(如您所见,该主题创建于2年前,具有+14.000的观看次数,+ 100的回复,+ 270的推荐,但是Microsoft团队的ZERO答案和ZERO修复或责任,是非常令人恶心的。)

问题


那该死的和不可定制的压力?1像素。边界,所有问题和最糟糕的噩梦始于Windows 10

我一直喜欢在以前的Windows版本中使用名为Sizer的程序,该程序可让您只需单击一下即可将任何窗口定位到任何可见窗口的可自定义的预定位置,但是这种省时的窗口组织应用程序无法在Windows 10中可以正常工作,因为该死的不可见边框,因为在计算窗口位置时将累加不可见边框的大小,并将其转换为已定位窗口和桌面边距之间桌面上令人讨厌的空白空间...

对于那些熟悉Sizer的人来说,这是一张图像,可以让您了解我的意思,即位置之间的空白(这是Windows 10该死的不可见边框的大小): 在此处输入图片说明

因此,出于我和我的原因,有一个可见的px。边框是我每天使用Windows 10所面临的一个非常大的问题,我确实...非常疲惫。

我不会回滚到以前的Windows版本,因为通过使用Windows 10 OS及其性能优势,我获得了更多收益,但是获得了1 px。border是此操作系统最可怕的缺点,我想像以前的Windows版本一样拥有真正的窗口边框,这让我感到高兴,这意味着边框图像会填满整个边框宽度(例如我在上面的比较中发布的比较图像)问题简介),我不想设置8像素。仅1像素的边框。可见,那太疯狂了,我不知道开发者到底在想什么。设计Windows 10的人,如果您将自己的操作系统命名为“ Windows”,则尝试设计并实现真正的“窗口”外观和行为,然后避免为上帝之母实现不可见的窗口调整大小句柄!


至此,知道在Windows 10中实际边框宽度为8像素,但仅为1像素。被显示,其余的边界只是...不可见,

我想问一个可能的解决方案,使Windows 10中的边框变为可见,我的意思是要像以前的Windows版本一样具有真实的窗口边框,边框图像资源会填充整个边框宽度,而不是可见边框。

我知道这个问题可能需要高级知识,进一步的调查和个人测试,因为Google的结果页不会向任何人显示如何解决此问题,所有的人都在谈论并讨论这个1像素。边界问题,但似乎没有人知道解决方案,更糟糕的是,微软似乎没有在听取任何人的意见,也不在听取“窗口”的合理设计。

我必须说我有一个名为Windows Style Builder(适用于Windows 10版本)的应用程序,它能够打开.msstyle主题文件以编辑主题中包含的任何图像资源,该程序是我发现尝试找到的唯一希望并增大边框图像资源以填充整个实际边框宽度,但是我尝试增大Aero主题中使用的所有边框图像资源,但是Windows 10仍然显示1像素。边框,无论用来显示主题边框的边框图像资源有多大,似乎显示的边框宽度都不是由主题本身控制的(我不太清楚),所以我的噩梦是认为似乎一个具有逆向工程知识的人可以创建一种自制补丁,以应用到知道解决Windows 10这一令人讨厌的问题可能需要哪个可执行文件或Windows资源的人,我真的希望可以更友好地解决此问题。办法。

我不知道还有什么要自己调查和尝试。

要求


我要求的唯一要求是,可能的解决方案不应暗示使用诸如Aerolite之类的第三方主题,这是因为我已经在使用第三方较暗的Windows主题,所以如果我更改为其他(浅色)主题,那么我最终会遇到一个新问题。

因此,请真正考虑到我的问题是“ 如何使Windows 10的不可见窗口边框可见 ”,不是“ 我可以安装哪个第3方主题以在Windows 10中看到窗口边框? ”。

也请尝试不要将问题集中在Sizer替代品上,当然,这些替代品受到我的欢迎和赞赏,但是,真正的问题是Windows 10的无形边框,这不仅会影响Sizer,还是一个问题。这将影响操作系统的整体使用率


更新

以下这些段落仅是在争论为什么不能以任何方式将Stardock的WindowBlinds描述为解决方案。您可以在下面忽略所有这些词。

显然,出于以下原因,Stardock的WindowBlinds将是一个不错的个性化程序,它可用于其他目的或使用该工具的用户,但不仅仅是使Windows 10中的窗口边框可见:

(请注意,我的意图不是诽谤Stardock的产品或开发团队,我是几年前购买Fences的,它是一个非常专业的应用程序,我认为每个人都必须拥有桌面图标组织,没有Fences我真的无法生存,所以我感谢Stardock的工作。)

  • 该程序使用一种似乎不常见的Windows主题中未包含的特殊技术,因为它不应用主题文件,也不涉及包含我们所知道的包含主题资源和设置的.msstyles文件。

  • 我在上面的确认是有争议的,因为在文件和注册表监视之后,我没有发现它们如何“添加”窗口边框,该程序与与Windows主题相关的注册表项或Windows主题文件/目录没有任何关系,所以我怀疑此程序必须在某些UX主题 Win32 API 上使用API​​挂钩技术来在执行时更改资源,因此需要对WinAPI函数的调用进行高级监视以确认我的怀疑。

  • 它是一个应用程序,它意味着应用自定义WindowBlinds主题来“添加”窗口边框,并且消耗大量资源。

  • 该程序更改了任务栏的样式,并影响了其行为的winstart菜单,似乎最终用户无法决定禁用这些功能(我不确定),因此使用WindowBlinds限制了您无法使用StartIsBack ++之类的程序为了获得一个不错的winstart菜单(我对其进行了测试,并且它破坏了StartIsBack ++),另一方面,[Stardock的Windowblinds]可能应该支持他们的Stardock的Start10产品,只是为那些有兴趣的人提到它,但是在我看来,它具有没有什么比StartIsBack ++好

  • WindowBlinds确实不会使窗口边框可见,它似乎要做的是减少原始窗口矩形以打印假边框,这会产生比Windows 10默认值更高的更高的非客户端矩形或“不可见的窗口边框矩形”。完全不可能(甚至更多)无法使用Sizer等程序来管理窗口位置,因为这是在应用WindowBlinds主题之后真正的,经过修改的窗口矩形:

在此处输入图片说明

  • 我们可以继续说,即使您禁用了“控制面板”设置中的所有效果选项,它也会在窗口上方添加一个(不需要的)阴影,这是因为正如我在开始时提到的那样,该程序似乎没有使用常见的Windows主题,因此会影响Window主题的控制面板选项不会影响WindowBlinds主题,相反,我怀疑此程序使用API​​挂钩技术来“创建”主题环境(和假边框)。WindowsBlinds具有其自己的效果配置。

  • 最后一个缺点是,WindowBlinds是付费产品,并且是“完整的”个性化应用程序,我的意思是说,一个人不应该考虑付费并安装全套个性化设置,而只是试图在一个产品中进行单个更改。 Windows主题。


Sizer并不完全支持Windows10。但是,您仍然可以通过将Sover悬停在窗口的一个角落上,并且只要指针变为双向箭头,都可以右键单击鼠标,然后弹出Sizer菜单,从而可以使用Sizer。从保存的预设中调整窗口大小。另一件事,如果您看到Windows上挂着任何东西,只需将Compatibility更改为Windows 7并以管理员身份运行Sizer,这样就可以暂时解决问题,直到下一个Sizer版本为止。
iSR5

感谢您的评论,但是Sizer完全支持Windows 10,无论如何Sizer是一个已停产的项目,似乎没有将来的版本,我知道如何使用Sizer,自Windows 7时代以来一直在使用它,问题是我提到的关于Windows 10的令人讨厌的隐形窗口边界的内容打破了个人窗口组织的意图,也打破了用于管理窗口位置自动化的任何类型的应用程序的逻辑,例如Sizer。
ElektroStudios

1
在Windows样式生成器社区中询问此问题。他们创建了许多主题,因此可以为您提供帮助。我和99.99%的用户从未这样做过,一遍又一遍地创建赏金对这里没有帮助。
magicandre1981 '16

1
@ magicandre1981,harrymc,感谢您的评论,但正如我在问题中解释的那样,我正在使用自定义的深色主题作为眼睛,因此无法更改为Aerolite主题。但是,很高兴知道Windows 10的自定义主题(如Aerolite)具有可见的边框,这证明Windows 10的任何其他第三方主题的窗口边框都可以变为可见,问题是:怎么办?
ElektroStudios

2
这真是太详细了!!想知道什么天才的程序员会提出一个可行的解决方案。如果有人可以做到这一点,我敢打赌,这将是SuperUser和/或其他SE社区中的这些人之一...我期待为这样的问题提出一个可行的解决方案,因为有很多人受到此问题的影响,而MS似乎无法根据您的意见提供解决方案。我将等待工作的答案,并赞扬找到该解决方案的英雄。
Pimp Juice IT

Answers:


3

我有一个推测:所有自定义主题均基于位于aero.msstyles或的内置编辑。带有固定1px宽的边框,而陨石拥有1-8px边界,通过配置注册表WSB(9px以上保持不可见)。到目前为止,还没有关于如何从头构建msstyle的公共文档。因此,主题是否具有可配置的可见边框取决于默认msstyles所基于的样式。aerolite.msstyles%windir%\Resources\Themes\aeroaero

建议您在虚拟海关寻求专业帮助。


2
我放弃。我已经尝试过使用WSB的多个msstyles文件,但无济于事。最终屏幕已闪烁几次。这不是新手可以解决的问题。
guest-vm

1
感谢您编辑答案并添加更多详细信息。我将尝试询问虚拟海关,但是我认为他们不知道该怎么做,因为格里姆先生的Windows 10主题是无边框的(最好说:“固定” 1 px边框),这是我的主题我实际使用的是他制作的深色主题。
ElektroStudios

1
快速浏览格里姆先生的主题,有一些与毒气相似的边界,例如毒药,春分和H2O。
guest-vm

哇!我的错,乍看之下您说的是真的!!!我将在今天分析这些主题,如果我能够在WSB中找到“关键”,我会接受您的回答,非常感谢定向。
ElektroStudios

我测试了边框,比使用带有假边框的WindosBlinds更好,格里姆先生的主题边框是“真实的”,因此移动/ 放置窗口时我没有问题,因为边框是“正常”的,并且Sizer应用程序可以正常工作再次提及您提到的主题。我认为应该像您说的那样,基于aerolite.msstyles的主题是关键,所以现在对我而言,只需使用WBS编辑该文件,即可从Grim先生基于主题的主题中导出/导入值在aero.msstyles从scractch一个新的主题基础上aerolite.msstyles,非常感谢
ElektroStudios

4

这可能不完全是您想要的,但可能会为您提供帮助。如果转到系统或右键单击“此计算机”并转到属性,然后在左侧单击“高级系统设置”,在“高级”选项卡下的“性能”组框中单击按钮“设置”,然后将机器设置为“调整以获得最佳性能”。完成后,单击“确定”,开始设置。然后尝试拖动一个窗口,您将看到要查找的“隐形”边框,该边框在早期版本的Windows中就存在。也许您可以利用它?


感谢您的回答。只需禁用“在移动窗口时显示窗口内容”(我不确定这是英文名称),无需禁用所有图形功能,但是如您所知,这不会使边框可见,它将在移动时在窗口上方绘制一个矩形,无论如何它都可能与我要查找的矩形相同,但是无论如何还是要感谢。
ElektroStudios

1

Stardock的WindowBlinds(9.99美元,可进行30天试用)声称能够做到这一点。

这是他们的Windows 10演示示例:

图片


感谢您的回答,您是否知道是否要应用自定义Stardock主题?这对我来说是非常不便的,因为我在问题中使用了较暗的3rd Party主题,但您提供了很好的信息,我实际上是在安装Windows 10虚拟机,以通过基本的反向工程注册表和文件技术来测试WindowBlinds演示,以查看是否可以发现有关其操作方式的“秘密”。
ElektroStudios

不幸的是,使用WindowBlinds是最糟糕的解决方案,不能将其描述为解决方案,我在针对问题进行的更新中详细介绍了参数。再次感谢您的回答!
ElektroStudios '16

Stardock的所有产品均基于Windows技巧,​​并且可能使用未记录的功能,这是合乎逻辑的,因为大多数人(包括我在内)都不知道他们如何做到这一切。顺便说一句-我相信Classic Shell比StartIsBack ++更高级,并且可能不受WindowBlinds的影响。WindowBlinds大量使用哪些资源?
harrymc '16

我仍然对了解WindowBlinds大量使用哪些资源感兴趣。
harrymc '16

1
感谢您的回答,我将尝试查看WindowBlinds的功能。但是据我所知,Windows开发现在是混乱的,因为越来越多的软件是通过软件而不是通过注册表参数完成的。边界宽度就是这种情况,旧的注册表设置在Windows 10中不再起作用,尽管它们在8.1之前都可以正常工作。为了规避Windows软件,WindowBlinds现在别无选择,只能挂入Windows。但我会检查一下。
harrymc '16

1

你尝试过Divvy吗?他们有Windows版本,我相信我会像使用Sizer一样使用它。我只是通过将明亮的蓝色mspaint放在使用Divvy设置大小的两个镀铬窗口后面,来查看是否在使用Divvy的窗口之间存在间隙,而我看不到窗口到背景。

我知道这是一种付费产品,不一定是您要寻找的解决方案,但似乎能够执行您希望Sizer要做的事情。也许它可以在内部纠正您在Win 10中提到的透明度。

Divvy Link(Windows)


感谢您的回答,但是此应用程序比Sizer的问题更多。主要问题是它不支持自定义位置和尺寸,换句话说,它是不可自定义的,您需要在预定义的很小的矩形上放置一个窗口,第二个问题是它不能用作Sizer,您需要打开程序,每次选择一个很小的矩形,最后一个问题是它没有考虑任务栏空间,当您尝试使用Divvy将窗口放置在角落时,该窗口最终会被覆盖Windows任务栏,至少在Windows 10上如此
ElektroStudios 2016年
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.