当前位置: 首页 > 图文教程 > 操作系统 > Windows > Windows Themes外观视觉样式故障汇总

Windows
Win7安装显示错误0XC004F061的解决
Windows7 系统格式化C盘的操作步骤
Windows7中不需要用Ghost来做备份
Windows7系统通知关闭后还显示的解决方法
Windows7 自动更新导致硬盘空间变小
IE浏览器上面的搜索框去掉方法
Windows 画图程序绘制像素小女孩头像
Windows下键盘TAB键玩法汇总
开启电脑的离开模式的设置方法
玩转Windows7系统下的XP Mode模式
禁止Windows多用户登录方式
用Windows7自带的DVD Maker制作DVD视频相册
彻底去除Win7中的UAC功能
Windows应该借鉴Linxu的10大特征小结
双系统卸载Win7系统的技巧
WinXP下锁定计算机的3种方法
Windows7为何取名叫Windows7的分析
Win7系统彻底屏蔽U盘的方法
win7资源管理器启动时的默认位置设置方法
五个Win7常见故障及其解决办法

Windows Themes外观视觉样式故障汇总


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 27 ::
收藏到网摘: n/a

最近笔者在微软新闻组先后看到若干个 Windows 外观视觉样式(Windows Themes)显示不正确的问题,并在回复帖子时提了不少建议。笔者打算以此为题写一篇 Windows Themes 故障汇总,总结八个比较有代表性的引起 Themes 显示异常的问题。这里所说的 Themes 包括 Windows XP/Server 2003 的外观样式、Windows Vista/Server 2008/Windows 7 的 Basic 样式以及 AERO 样式。

点击查看原大图片

★ 如果 Windows 无法应用任何 Themes、只能选择类似 Windows 2000 的经典外观:


1.系统服务 Themes 没有开启。

系统服务是最常见的引起 Windows 无法应用 Themes 的原因之一,特别是 Windows Server 系统,默认不开启此服务。以管理员权限执行 %SystemRoot%\system32\SERVICES.MSC 打开“服务”设置,将 Themes 服务开启、并将其运行方式修改为“自动”即可解决(Windows Server 2003)。

Windows Server 2008 仅开启 Themes 服务依然不够,还需要通过“管理工具”-“服务器管理”-“打开或关闭功能”-“添加功能”,手动添加默认没有安装的“桌面体验(Desktop Experience)”组件方可。微软官方提供的参考信息为:

http://support.microsoft.com/kb/946397

笔者认为,Windows Server 2008 既然默认不安装“桌面体验”,其实完全没有必要预设一个根本无法生效的 Themes 服务,此服务完全可以在安装“桌面体验”时再添加。


2.视觉样式文件夹 Windows\Resources\themes 中的资源受损。

如果在选择 Themes 的列表中无法找到部分或全部选项,可能是视觉样式文件夹 Windows\Resources\themes 中的相关文件丢失或受损。

Windows XP 家庭版/专业版、Windows Server 2003 默认内置有 Luna;
Windows XP Media Center Edition 2005/Tablet PC Edition 2005 内置有 Luna 及 Royale Energy Blue;
Windows Vista/Server 2008 内置有 Aero。我们可以从其它相同版本的 Windows 计算机中直接复制 Windows\Resources\themes 文件夹进行修复。


3.与 Windows Shell 相关的若干系统文件受损或需要重新注册。

除了 Windows\Resources\themes 中的资源外,Windows Shell 相关的若干系统文件如果受损也可能会引起无法应用 Themes,甚至可能会在控制面板中打开“显示”属性时出现 RUNDLL32 运行错误。这些相关的系统文件包括 Explorer.EXE、Shell32.DLL、User32.DLL、Desk.CPL、ThemeUI.DLL 等,解决方法是 SFC /SCANNOW 检测并修复。

如果确认所有系统文件都没有损坏,但依然无法应用 Themes 或在打开“显示”属性时出现 RUNDLL32 运行错误,可以尝试执行 REGSVR32 MMSYSTEM.DLL 重新注册一下此文件。少数极端情况是除了 MMSYSTEM.DLL 外,还有其它系统文件也需要重新注册(此现象一般发生在查杀病毒后发现无法应用 Themes),此时可以将如下语句:

for %1 in (%WinDir%\system32\*.DLL) do REGSVR32.EXE /s %1

保存为 .BAT 批处理并运行,重新注册一下 system32 中的所有 .DLL 文件。但除了 Windows 系统文件外,某些位于 system32 的第三方 .DLL 也将被一并重新注册,可能会引起一些不必要的麻烦。

此外,控制面板的“显示”属性出现 RUNDLL32 运行错误的另一种可能是显示驱动程序配置不正确,如果以安全模式启动 Windows 可以正常打开“显示”属性,可能需要回到正常模式重新安装显示驱动程序。特别是有时在 Windows Vista 或以上版本中如果可以应用 Basic 样式、但却无法应用 AERO 样式,则很有可能是显示驱动程序配置不当或显卡本身不支持 DirectX 9 所致。


4.与 Themes 相关的若干注册表项受损。

除了系统文件的受损或需要重新注册外,某些与 Themes 相关的注册表项受损也可能引起无法正常应用 Themes。这些注册表项主要有:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ThemeManager
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Themes

(其中最后一条是 Themes 系统服务的注册表项,如果之前已经发现 Themes 服务损坏无法启动,可能是此注册表项受损所致)

解决方法是从其它相同版本的 Windows 计算机中导出上述注册表项为 .REG 文件,复制过来并导入注册表,然后重新启动计算机。

除了 HKEY_CURRENT_USER 与 HKEY_LOCAL_MACHINE 之外,如果 Windows 登录界面的 Themes 遇到问题,还可以修复 HKEY_USERS\.DEFAULT 中的相关设置。例如我们知道 Windows Server 2003 默认是只使用经典样式的,虽然可以开启 Themes 服务并在控制面板中应用 Themes,但只限于当前登录的用户帐户、对 Windows 登录对话框无效。此时我们便可以在将当前用户帐户的 Themes 设置好之后,将 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\
ThemeManager 的所有数据原样照搬至 HKEY_USER\.DEFAULT\Software\Microsoft\Windows\
CurrentVersion\ThemeManager,这样即可将当前用户帐户应用的 Themes 应用至登录对话框。


★ 如果 Windows 可以应用内置的 Themes、但无法应用来自第三方的 Themes:


在默认的系统设置中,Windows 仅允许应用系统内置的有限的几种 Themes。为了突破 Windows 的限制应用来自第三方的 Themes,通常有两种方法。


5.重新替换破解版的 UxTheme.DLL。

Windows 默认对 Themes 的限制来源于 Windows\system32\UxTheme.DLL。网上有很多解除限制的破解版 UxTheme.DLL 可供下载,将破解版的 UxTheme.DLL 通过故障恢复控制台、多重操作系统或 Windows PE 等复制至系统文件夹,替换源文件即可解除限制。


6.重新安装第三方 Themes 管理工具。

StyleXP 等第三方 Themes 管理工具可以以自建立的服务全面接管 Windows 的 Themes 服务,通过第三方软件的服务即可直接应用来自第三方的 Themes,因此我们可以重新安装相应的第三方 Themes 管理工具以突破 Windows 无法应用第三方 Themes 的限制,例如 StyleXP。


★ 如果 Windows 可以应用 Themes、但 Themes 却显示残缺不完整:

这个问题主要出现在一些版本较早的 Windows 2000 甚至 Windows 9X 旧版程序中,某些旧版程序是无法全部或部分应用 Themes 的。


7.使用 eXeScope 为旧版程序设置“XP 样式”。

eXeScope 提供了为应用程序设置“XP 样式”的选项。某些不支持 Themes 的旧版程序经过 eXeScope 修改后可能可以支持 Themes,但不是全部,特别是 Windows Vista 的 AERO 样式,某些旧版程序经过修改可能可以支持 Basic 样式、但需要 DirectX 9 渲染的 AERO 却始终无法生效。

我们可以以 eXeScope 打开旧版应用程序的相关 .EXE 或 .DLL 文件,选中工具栏提供的“XP 样式”后保存修改。如果 eXeScope 显示此文件“早已是 XP 样式”后依然无法应用 Themes,那么这样的旧版应用程序可能就无法解决了。


8.解除不支持 Themes 的旧版程序附加在 Explorer.EXE 中的扩展插件。

某些比较“黏人”的旧版程序不仅自己无法应用 Themes、而且还会为 Explorer.EXE 也附加上很多扩展插件,这样可能会连带着引起 Windows 的某些系统界面也无法应用 Themes。我们可以下载运行 ShellExView 对 Explorer.EXE 的扩展插件进行排查:

http://www.nirsoft.net/utils/shexview.zip

运行后选中可能无法应用 Themes 的非 Microsoft 第三方扩展插件,通过右键菜单 Disable Selected Items 将其禁用即可,重新启动 Windows 后观察受影响的 Windows 系统界面能否恢复正常。