主頁 > Computers and Internet > Windows Themes外觀視覺樣式故障匯總

Windows Themes外觀視覺樣式故障匯總

 最近筆者在微軟新聞群組先後看到若干個 Windows 外觀視覺樣式(Windows Themes)顯示不正確的問題,並在回復帖子時提了不少建議。筆者打算以此為題寫一篇 Windows Themes 故障匯總,總結八個比較有代表性的引起 Themes 顯示異常的問題。這裡所說的 Themes 包括 Windows XP/Server 2003 的外觀樣式、Windows Vista/Server 2008/Windows 7 Basic 樣式以及 AERO 樣式。

  如果 Windows 無法應用任何 Themes、只能選擇類似 Windows 2000 的經典外觀:系統服務 Themes 沒有開啟。系統服務是最常見的引起 Windows 無法應用 Themes 的原因之一,特別是 Windows Server 系統,預設不開啟此服務。以管理員許可權執行 %SystemRoot%\system32\SERVICES.MSC 打開服務設置,將 Themes 服務開啟、並將其運行方式修改為自動即可解決(Windows Server 2003)。僅開啟 Themes 服務依然不夠,還需要通過管理工具伺服器管理打開或關閉功能添加功能,手動添加默認沒有安裝的桌面體驗(Desktop Experience組件方可。微軟官方提供的參考資訊為:2.

Windows XP

3.

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

保存為 .BAT 批次處理並運行,重新註冊一下 system32 中的所有 .DLL 文件。但除了 Windows 系統檔外,某些位於 system32 的協力廠商 .DLL 也將被一併重新註冊,可能會引起一些不必要的麻煩。

視覺樣式資料夾 Windows\Resources\themes 中的資源受損。如果在選擇 Themes 的清單中無法找到部分或全部選項,可能是視覺樣式資料夾 Windows\Resources\themes 中的相關檔丟失或受損。家庭版/專業版、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 資料夾進行修復。 Windows Shell 相關的若干系統檔受損或需要重新註冊。除了 Windows\Resources\themes 中的資源外,Windows Shell 相關的若干系統檔如果受損也可能會引起無法應用 Themes,甚至可能會在控制台中打開顯示屬性時出現 RUNDLL32 運行錯誤。這些相關的系統檔包括 Explorer.EXEShell32.DLLUser32.DLLDesk.CPLThemeUI.DLL 等,解決方法是 SFC /SCANNOW 檢測並修復。如果確認所有系統檔都沒有損壞,但依然無法應用 Themes 或在打開顯示屬性時出現 RUNDLL32 運行錯誤,可以嘗試執行 REGSVR32 MMSYSTEM.DLL 重新註冊一下此檔。少數極端情況是除了 MMSYSTEM.DLL 外,還有其它系統檔也需要重新註冊(此現象一般發生在查殺病毒後發現無法應用 Themes),此時可以將如下語句: 

4.

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 服務損壞無法啟動,可能是此註冊表項受損所致)

此外,控制台的顯示屬性出現 RUNDLL32 運行錯誤的另一種可能是顯示驅動程式配置不正確,如果以安全模式啟動 Windows 可以正常打開顯示屬性,可能需要回到正常模式重新安裝顯示驅動程式。特別是有時在 Windows Vista 或以上版本中如果可以應用 Basic 樣式、但卻無法應用 AERO 樣式,則很有可能是顯示驅動程式配置不當或顯卡本身不支援 DirectX 9 所致。 Themes 相關的若干註冊表項受損。除了系統檔的受損或需要重新註冊外,某些與 Themes 相關的註冊表項受損也可能引起無法正常應用 Themes。這些註冊表項主要有: 


5.

Windows

6.

StyleXP

7.

eXeScope

8.

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

運行後選中可能無法應用 Themes 的非 Microsoft 協力廠商擴展外掛程式,通過右鍵功能表 Disable Selected Items 將其禁用即可,重新啟動 Windows 後觀察受影響的 Windows 系統介面能否恢復正常。

解決方法是從其它相同版本的 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,通常有兩種方法。重新替換破解版的 UxTheme.DLL默認對 Themes 的限制來源於 Windows\system32\UxTheme.DLL。網上有很多解除限制的破解版 UxTheme.DLL 可供下載,將破解版的 UxTheme.DLL 通過故障修復主控台、多重作業系統或 Windows PE 等複製至系統資料夾,替換原始檔案即可解除限制。重新安裝協力廠商 Themes 管理工具。等協力廠商 Themes 管理工具可以以自建立的服務全面接管 Windows Themes 服務,通過協力廠商軟體的服務即可直接應用來自協力廠商的 Themes,因此我們可以重新安裝相應的協力廠商 Themes 管理工具以突破 Windows 無法應用協力廠商 Themes 的限制,例如 StyleXP 如果 Windows 可以應用 Themes、但 Themes 卻顯示殘缺不完整:這個問題主要出現在一些版本較早的 Windows 2000 甚至 Windows 9X 舊版程式中,某些舊版程式是無法全部或部分應用 Themes 的。使用 eXeScope 為舊版程式設置“XP 樣式提供了為應用程式設置“XP 樣式的選項。某些不支援 Themes 的舊版程式經過 eXeScope 修改後可能可以支援 Themes,但不是全部,特別是 Windows Vista AERO 樣式,某些舊版程式經過修改可能可以支援 Basic 樣式、但需要 DirectX 9 渲染的 AERO 卻始終無法生效。我們可以以 eXeScope 打開舊版應用程式的相關 .EXE .DLL 檔,選中工具列提供的“XP 樣式後保存修改。如果 eXeScope 顯示此檔早已是 XP 樣式後依然無法應用 Themes,那麼這樣的舊版應用程式可能就無法解決了。解除不支援 Themes 的舊版程式附加在 Explorer.EXE 中的擴展外掛程式。某些比較黏人的舊版程式不僅自己無法應用 Themes、而且還會為 Explorer.EXE 也附加上很多擴展外掛程式,這樣可能會連帶著引起 Windows 的某些系統介面也無法應用 Themes。我們可以下載運行 ShellExView Explorer.EXE 的擴展外掛程式進行排查:

 

1.

Windows Server 2008

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

筆者認為,Windows Server 2008 既然默認不安裝桌面體驗,其實完全沒有必要預設一個根本無法生效的 Themes 服務,此服務完全可以在安裝桌面體驗時再添加。

廣告
  1. 仍無迴響。
  1. No trackbacks yet.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

%d 位部落客按了讚: