兼容性选项“禁用视觉主题”有什么作用?

兼容性选项“禁用视觉主题”有什么作用?

“禁用桌面组合”标志会在应用程序运行期间禁用 Aero(透明玻璃边框)效果,这似乎是“视觉主题”的全部,但切换“禁用视觉主题”选项似乎没有任何作用。这些“视觉主题”到底是什么?禁用它们会对系统产生什么影响?

据我猜测,“视觉主题”是使用挂钩和 WDM API 调用创建的围绕窗口内容区域的自定义窗口边框样式,但我准备接受纠正。

我说的是已选中的选项:

答案1

“禁用桌面组合”标志会在应用程序运行期间禁用 Aero(透明玻璃边框)效果,这似乎是“视觉主题”的全部内容

正确;它告诉 Windows 不要使用 Aero 玻璃或桌面窗口管理器(或扩展为硬件加速)当该程序运行时。因此,当运行这样配置的程序时,屏幕上的所有窗口都共享相同的帧缓冲区而不是每个人都有自己的方法。只有少数程序需要这样做,这些程序希望事情以非常具体的方式进行,并使用硬编码(可能未记录)的方法而不是使用提供的接口。幸运的是,这通常仅限于非常老的程序。

这些“视觉主题”到底是什么?据我猜测,“视觉主题”是使用钩子和 WDM API 调用创建的围绕窗口内容区域的自定义窗口边框样式,尽管我准备好接受纠正。

你是对的;视觉主题或样式是 Windows 界面 chrome(边框以及按钮、单选按钮、复选框、滚动条等控件)的花哨、图形渲染。

在 Windows XP 中,Luna 主题(图 3)具有厚实的圆形蓝色 Windows 边框和光泽的红色[x]。在 Windows Vista 和 7 中,有 Aero 主题(图 4),其中包括“玻璃”透明效果,以及没有该效果的 Windows Basic 主题(图 5),但它仍然是一个主题/样式。

禁用它们会对系统产生什么影响?

该选项只是让 Windows 在程序运行时关闭主题并使用 Windows 经典主题(图 1)。这通常不是必需的,但同样,理论上可能存在一个(可能非常旧的)程序,如果在主题化的 Windows 上运行,它会变得很糟。请注意,Windows 主题已经存在很长一段时间了(Windows XP 是第一个包含它们的系统,于 2001 年发布),所以在大多数情况下,只有在那之前编写的程序才会有问题,除非如前所述,它们是新的但编程很差(我在这里使用“差”来表示使用直接调用等而不是 API 编写的任何东西;不兼容的程序可能写得很好,但只是专门化了)。

但切换“禁用视觉主题”选项似乎没有任何作用。

为了看到效果,需要满足三个条件:

  1. 必须将 Windows 配置为使用主题(如果当前设置为经典主题,您将看不到任何内容)
  2. 程序必须检查兼容性选项
  3. 该程序必须是窗口化的,这样你才能看到它;显然,对于全屏程序,你不会看到任何变化

兼容性选项的效果对于Disable desktop composition选项来说比对于Disable visual themes选项来说更明显,因为当为程序禁用桌面组合时,它会一直保持关闭状态,直到程序消失(就像使用使用硬件加速的视频程序将关闭 Aero 直到它消失一样)。但是,关闭主题只会影响屏幕上实际显示的内容,因此如果为全屏程序设置主题,Windows 会关闭主题,但由于程序是全屏的,所以您看不到它,但如果您按Alt+Tab切换到桌面,它会将它们重新打开,然后在您切换回程序时再次关闭。只有在目标程序是窗口化时才可见;然后您会注意到所有窗口都没有主题。


图1跑步Windows 2000(及更早版本)中的对话框

Windows 2000 及更早版本中的运行对话框

图 2:Windows 经典主题复制了 Windows 2000(以及更早版本的外观)

Windows XP 经典主题中的运行对话框

图 3:Windows XP 的 Luna 主题

Windows XP Luna 主题中的“运行”对话框

图 4:Windows Vista 和 Windows 7 中的 Aero 主题

Windows 7 Aero 主题中的运行对话框

图 5:Windows Vista 和 7 的基本主题

在 Windows 7 Basic 主题中运行对话框

图 6:此外,Windows 8 的默认主题也被恰当地简称为“Windows”

Windows 8 主题中的运行对话框

答案2

这里的关键词是兼容性。此选项的存在是为了为一些无法与现代 Windows 元素正确运行的旧程序提供兼容模式。微软的传统是忽略向后兼容原则,并用类似这样的选项代替它。请注意,有时相同的选项对新的程序的视觉风格与现代 Windows 主题相冲突。这种情况通常是由于编码不当/不够灵活或软件过时造成的。

使用此选项仅有的如果您需要特定版本的应用程序但无法在系统中执行它。解决兼容性问题的首选方法是将应用程序升级到最新版本。此选项可能有助于解决问题,但不能保证任何事情。

重要的是要了解禁用单个应用程序的视觉主题(通过快捷方式或特定于可执行文件的设置)和全局禁用用户的视觉主题(在 中Advanced System Settings>Advanced>Performance)之间的区别。第二种选择不是为了兼容性,而是为了整个系统的性能改进。新版本 Windows 中的视觉主题非常耗费资源。

请注意,兼容性选项仅在 Windows 7 及以下版本中可用。从版本 8 开始,此功能被禁用(请参阅Microsoft 论坛上的讨论

答案3

并非所有应用程序都会受到此设置的影响。例如,Notepad 不会受到影响,但我的其他文本编辑器 (SciTE) 会受到影响。我不知道这个标准是什么。

下面你会看到很多细微的差别。禁用视觉主题后,菜单选项将变成纯蓝色,并带有反色文本,菜单栏背景失去阴影,菜单更加紧凑,热键左对齐,滚动条完全不同。

您问它们如何影响系统。它们实际上不会;99.9% 的时间只是美观而已。但是,可以想象,它可能会干扰从未使用 Windows 7 视觉主题测试过的旧应用程序的功能。例如,菜单不够紧凑这一事实可能会导致大菜单超出屏幕的高度。

视觉主题已启用dfdsds

视觉主题已禁用在此处输入图片描述

答案4

我相当肯定它所谈论的“主题”与 Windows XP 的 Luna 界面相关,因此禁用它会迫使 Windows 以标准“3.1/95”(我认为经典是正确的名称)样式绘制它。

对于 Vista 或更高版本思考它将禁用其内置主题并执行相同的操作(使用经典)...现在没有其中一个可以仔细检查。

Windows 8 上的经典版呃:-)

相关内容