Windows Vista第三方主題無法使用解決方案
這段時(shí)間,在Vista之家論壇閑逛時(shí),經(jīng)??吹接袎褑枴盀槭裁聪螺d的主題不能用?提示視覺風(fēng)格錯誤”。
經(jīng)過復(fù)查,自定義主題所需改動的3個(gè)文件(Shsvcs.dll,Uxtheme.dll,Themeui.dll)均無問題,版本號均正常。其實(shí)早在之前一段時(shí)間里,就有一部分Vista第三方主題下載下來,放到主題目錄下就無法使用了。那么,問題出在哪里呢?
研究很多第三方的主題后,無意發(fā)現(xiàn),主題語言文件對應(yīng)的語言包文件名與主題文件名不匹配,是導(dǎo)致主題不能用的一個(gè)原因。以我現(xiàn)在使用的 Aero Clear為例,主題文件夾下的視覺樣式文件名為Aero Clear.msstyles,而對應(yīng)的語言包(en-US或zh-CN)中的語言文件為Aero.msstyles。這就導(dǎo)致了 Windows 在加載主題時(shí)候,讀取不出正確的語言文件(要找的是Aero Clear.msstyles.mui而非Aero.msstyles.mui),從而導(dǎo)致主題無法加載。為什么在安裝更新之前都可以加載呢?原因就在于 Windows 緩存了這些語言文件,裝載主題的時(shí)候不需要從aero.msstyles.mui當(dāng)中讀取對應(yīng)語言數(shù)據(jù),所以使用一直沒有問題。
正確的解決辦法是:進(jìn)入對應(yīng)的語言文件夾,將aero.msstyles.mui 更名為視覺樣式對應(yīng)的文件名。以 Aero Clear為例,將aero.msstyles.mui更名為Aero Clear.msstyles.mui,然后重新打開“個(gè)性化”,選擇需要更換的主題即可。所以,這不存在什么微軟打擊第三方主題的問題。下圖附件是安裝了更新之后,正常啟用的啟用第三方主題(注意玻璃效果)。
總結(jié)一下,出現(xiàn)這種情況的原因,就在于 Windows Vista 的多語言機(jī)制(MUI)上。在 Vista 中,MUI的原理是默認(rèn)搜尋當(dāng)前語言版本的文件夾(中文版是zh-CN),如果沒有發(fā)現(xiàn)或者是文件夾下的MUI文件不符合,則進(jìn)一步en-US文件夾下對應(yīng)文件。如果en-US下的對應(yīng)文件再不符合,則加載失敗。如果各位發(fā)現(xiàn)主題加載失敗,可試著建立一個(gè) zh-CN文件夾,把en-US下的同名文件的拷來看看。
因此,大家在按照徹底DIY - Windows Vista主題制作不完全教程教程做主題時(shí),一定要保證theme主題文件,msstyles文件,以及zh-cn或en-us里的mui文件的文件名是一致的。
