簡介
第三方的主題
WindowsXP採用了全新的主題管理核心,其功能非常強大,能夠實現的效果非常炫目,但是居然不支持非官方的桌面主題,Plus!里那幾個簡單的主題不用幾天就看膩味了,所以,要想使用第三方的主題,就必須通過非官方的辦法來解決。
一.必備軟體
1.StyleXP
StyleXP是一個第三方的XP桌面主題支持和管理軟體,也是目前最好的。它使用的是WindowsXP的主題核心,並且強化了很多功能,可以導入、選擇、更換和管理官方的和非
官方的桌面主題、壁紙甚至登入界面。
該軟體安裝之後會在XP中添加一個後台運行的服務StyleXPService,占用1-2MB的記憶體,這個服務也就是能夠使用第三方主題的基本。另外,它的主程式可以選擇兩種運行方式,一種是保持運行在系統托盤裡,這種模式在系統托盤裡有一個StyleXP的圖示,隨時可以點擊調出主界面;一種是不消耗資源的方式,主程式平時不運行。建議大家選擇第二種方式,因為這個主程式運行起來可不秀氣,占用記憶體到10-20MB。實際上第二種方式也可以隨時運行主程式來管理主題。
StyleXP是共享軟體,自帶中文語言,在1.01L版本之後正式支持WindowsXPSP1,1.01P版本開始支持Windows2003。
2.uxtheme.dll破解版
UxTheme.dll就是XP系統主題支持的核心檔案,也就是它讓XP無法使用第三方主題。如果你不想安裝StyleXP,那么你可以通過破解UxTheme.dll檔案來達到目的。實際上,UxTheme.dll破解版就是推出StyleXP的TGTSoft在愛好者的強烈要求下放出來的,Microsoft好像也默認了這種行為,呵呵,真是難得。使用UxTheme.dll破解版之後,無需任何其他的軟體你就可以在XP的顯示屬性中管理和調用第三方的主題和風格。
下載UxTheme.dll破解版之後,先將X:\Windows\System32\UxTheme.dll重命名,例如改成UxTheme.dll.bak,然後將破解版的複製過來,重新啟動即可。注意,這裡還牽涉到WindowsXP的系統檔案保護,請參見下面的內容。
以上兩種解決辦法只要任選其一即可,各有各的好處,大家看著辦吧。筆者個人來言用的是
前者,因為當StyleXP以服務運行時占用的資源非常少,2MB左右,無須修改系統檔案,管理起主題來比Windows的顯示屬性方便得多,而且還可以隨意更換和管理Logon界面,不需要去煩瑣地替換系統檔案,等等。真正說喜歡用桌面主題的話,不大可能在乎這么一點點資源的占用。
桌面主題的構成
一個XP的桌面主題可以包含好幾個部分,風格、壁紙、屏保、滑鼠指針、系統聲音事件、標,除了風格是必須的之外,其他部分都是可選的。風格可以定義的內容是大家在Windows里所能看到的一切,例如視窗的外觀、字型、顏色,按鈕的外觀等等等等,一個桌面主題里風格就決定了大家所看到的Windows的樣子。
大家可以打開X:\Windows\Resources\Themes目錄,這個目錄就是XP中存放桌面主題的目錄。你能看到有很多xxx.theme檔案,你在顯示屬性的“主題”列表里看到有多少個主題里就有多少個.theme檔案,它就是Windows主題檔案,一個桌面主題的總定義檔案,它的內容不多,是文本格式的,以XP的默認官方主題Luna為例,大家用任何一個文本編輯器打開Luna.theme,可以很直觀的看到其內容。
【Theme】部分是定義我的電腦、我的文檔、網路鄰居以及資源回收筒這幾個主要部件的圖示,Luna.theme中MyComputer定義的圖示就是X:\Windows\explorer.exe,0,也就是explorer.exe中包含的第一個圖示,沒有包含特定圖示的主題這裡一般都是這個值。這裡即可以指向程式檔案,也可以指向DLL檔案或者圖示檔案。
【ControlPanel\Colors】部分定義的是各個Windows部件如標題欄、視窗背景、文字等的顏色,這裡定義的顏色大部分時候是無關緊要的,因為系統會優先按照色彩方案中的配色顯示,這在後面的部分會講到。
【ControlPanel\Cursors】定義的就是滑鼠指針了,每一行定義一個指針檔案,例如Arrow定義箭頭游標,Wait定義等待游標。Luna中這裡是空的,代表使用Windows默認的滑鼠指針,這裡的定義必須是具體的.cur游標檔案或者.ani動畫游標檔案。
【ControlPanel\Desktop】定義桌面的顯示,包括壁紙圖片的位置,顯示方式,以及是否激活屏保。Luna中的Wallpaper=%WinDir%web\wallpaper\Bliss.bmp就是大家看得最多的“菜地藍天”了:)。這裡的ScreenSaveActive=X和下面的【boot】部分SCRNSAVE.EXE=XXX是對應的,前者管是否允許屏保,後者是屏保的具體地址。
【VisualStyles】就是最關鍵的部分了,這裡指向的就是一個桌面主題的核心部分:.msstyles可視化外觀風格檔案,Luna中指的就是Path=%WinDir% esources\Themes\luna\luna.msstyles,後面會講到。再往下走就是定義聲音事件的了,和我們在控制臺→聲音和音頻設備→聲音中設定的項目是一樣的。
一般來說一個完整的主題基本檔案結構就是一個.theme檔案和一個放置風格檔案等其他檔案的資料夾,在【VisualStyles】部分可以找到這個資料夾的名字。了解了.theme檔案的結構之後,大家就完全可以按照自己的喜好編輯了,只是要確認所有檔案的指向都必須是有效的,否則主題無法使用。
需要說明的是,.theme檔案不是必須的,.msstyles風格檔案才是。因此,有些主題只有.msstyles檔案,沒有.theme檔案,一樣可以照常使用。只是在顯示屬性的主題列表中是看不到的,必須到“外觀”中才可能看到。
下面,根據【VisualStyles】中的路徑我們再打開Luna資料夾,現在可以看到luna.msstyles風格檔案了。.msstyles是一個桌面主題的最主要的部分,它的內容一般包含了幾乎大家所有在Windows里看到的一切,包括視窗、工具列、按鈕等等的顏色、背景圖案、立體效果、字型之類,它基本可以確定一個主題的效果。有興趣的朋友可以用stylebuilder這個也是由TGTSoft出品的專門編輯風格檔案的工具打開來看看。就了解.msstyles的重要作用了。這就是為什麼有很多主題就只有這一個檔案卻能夠實現非凡的效果。這裡有一點很重要,就是.msstyles檔案只能放置在X:\Windows\Resources\Themes目錄的子目錄下,並且所在的子目錄名稱必須和本身的檔案名稱(不包括後綴名)一致,例如Luna.msstyles必須放在X:\Windows\Resources\Themes\Luna下才有效,大家可以試試將目錄或者檔案其中一項改名,就會發現該風格已經無法正常使用了。
大部分主題目錄里還會有一個Shell目錄,這裡還是以官方主題Luna為例,和Luna.msstyles在一起的就有一個Shell目錄,打開Shell目錄能夠看到三個子目錄,分別是Homestead、NormalColor、Metallic,正好分別對應Luna主題中的三個色彩方案:橄欖綠、默認(藍)、銀色。三個目錄每個下面都有一個shellstyle.dll檔案。
shellstyle.dll的作用比較簡單,它定義的是資源管理器中左邊的公共欄的樣式,包括點陣圖、字型和顏色配置,例如關閉和打開“詳細信息”的按鈕,以及大家打開音樂資料夾時檔案列表右下角背景中顯示的音符圖案等。一般一個主題中有幾個色彩方案就會有幾個shellstyle.dll檔案,每個shellstyle.dll的內容都是配合所針對的色彩方案的,不盡相同。
和.theme檔案一樣,Shell資料夾和shellstyle.dll都不是必須的,很多主題就沒有這個內容。即便將已有shellstyle.dll刪除也不會對主題產生太大的影響,只是在該色彩方案下它所定義的內容會變成系統默認的。大家完全可以嘗試在一個色彩方案中用其他色彩方案的shellstyle.dll檔案替換,甚至可以自己用ResourceHacker之類的工具自己編輯裡面的點陣圖和顏色、字型定義等,有時候可以達到意想不到的效果。
三.桌面主題的使用
上面已經講了主題的基本檔案結構,在了解了檔案結構之後再談安裝主題就容易多了。
大家從網上下載的桌面主題各式各樣,有的只有幾百KB,有的可能有幾十MB,就是因為它們所包含的內容不一樣。有的只有一個.msstyles風格檔案,有的帶了幾個色彩配置檔案,有的帶了.theme檔案,有的帶了滑鼠指針、壁紙、聲音事件等,筆者甚至見過一個包含了所有內容壓縮之後都有上百MB的巨型桌面主題。
下面就講講各種不同的主題該如何安裝。
給大家一個小提示,在正常的情況下.theme檔案和.msstyles檔案都是有系統默認檔案關聯的,也就是說雙擊這兩種檔案系統都會自動在顯示屬性中打開,大家可以利用這一點在安裝之前先預覽該主題或者風格,當然,如果主題還包擴了其他檔案的話就要注意其他檔案的路徑是否對頭了,否則是無法正常預覽的。
第一種情況:有.theme主題檔案
這種情況是最容易安裝的了,只要保持原主題的目錄結構,將.theme檔案和資料夾複製到X:\Windows\Resources\Themes\目錄下就完成安裝了。舉個最簡單的例子,大家在網上下載了一個主題,假定這個主題名叫“Naco”,那么安裝後應該是這樣的目錄結構:
X:\Windows\Resources\Themes\Naco.theme(可無)
X:\Windows\Resources\Themes\Naco\Naco.msstyles
X:\Windows\Resources\Themes\Naco\Shell\xxxx\shellstyle.dll(可無)
.....................
複製好之後然後在桌面上點擊右鍵,選擇“屬性”打開顯示屬性視窗。因為有.theme主題檔案,所以在主題列表中可以看到該主題,選擇主題名稱,點擊套用,Windows就會自動切換到該主題的顯示了。如果這個主題有多個色彩方案的話,打開“外觀”,在“色彩方案”列表中可以看到可選的色彩方案,選每一項內容都將在上面的預覽框中顯示實際效果。
第二種情況:沒有.theme主題檔案
還是這個例子,假定主題名叫“Naco”,這個主題只有一個Naco.msstyles風格檔案和一個shell資料夾,shell資料夾下面有幾套色彩方案,或者連shell資料夾都沒有,那么首先請在X:\Windows\Resources\Themes目錄下建一個子目錄,名字一定要叫做“Naco”,前面說過了,這個目錄的名稱一定要和風格檔案名稱相同,然後將Naco.msstyles檔案和Shell目錄複製到這個子目錄里,目錄結構是這樣的:
X:\Windows\Resources\Themes\Naco\Naco.msstyles
X:\Windows\Resources\Themes\Naco\Shell\xxxx\shellstyle.dll(可無)
.................
打開顯示屬性視窗。因為沒有.theme檔案,所以在主題列表中是看不到“Naco”主題的,所以要到“外觀”頁去,正常的話你應該在“視窗和按鈕”列表中能找到“Naco”這一項,這裡實際上就是風格的列表了。選中“Naco”,如果這個風格有多個色彩方案,那么在下面的色彩方案列表中就會有多於一項內容,選每一項內容都將在上面的預覽框中顯示實際效果
。點擊右下方的套用,就能夠將風格和色彩方案套用到當前的Windows了。
前面已經講過了.theme是總定義檔案以及它的結構,所以,大家可以自己創建一個.theme檔案來針對沒有.theme檔案的主題。
在“外觀”的“視窗和按鈕”中選擇沒有主題檔案的風格,點擊套用,此時Windows將切換為新指定的風格,切換到“主題”頁,此時主題列表中會顯示為XXX(更改),點擊“另外儲存為”,將新的.theme檔案保存到X:\Windows\Resources\Themes\目錄里去,當然這裡你也可以保存到任何位置,只是保存到系統的目錄將更加便於管理。保存之後你就已經建立好一個新的主題了,以後只要選擇這個新建的主題就可以使用相應的風格。
在這裡有一個技巧,看過第二節就知道,.theme檔案里是有很多定義部分的,所以,在保存.theme檔案的時候會將當前系統使用的牆紙、滑鼠指針、圖示、屏保、聲音等各種定義全部保存到新建的這個主題檔案中間去,因此,大家完全可以不需要去手動編輯.theme檔案的各項定義,而直接利用這個技巧建立自己個性化的主題。譬如,你可以先將桌面牆紙設為自己最喜歡的圖片,調出自己最喜歡的滑鼠指針,使用自己最喜歡的聲音事件和螢幕保護等等等等,將各個部分調整好之後,“保存為”一個新的主題檔案,這樣,以後只要選用這個主題檔案就能夠一步到位了。;)當然,必須注意的是因為在保存主題檔案的時候各種資源都將使用絕對路徑,例如滑鼠指針和聲音檔案的引用位置是來自於另外一個主題的目錄,因此,一旦某一個檔案的實際位置發生了變動,那么再用這個主題的時候Windows就會因為找不到主題里的檔案而提示出錯,因此,最好的辦法是建立一個不容易變動的目錄放置這些需要用到的檔案,然後再建立主題檔案,就不容易發生錯誤了。
四.桌面主題套用的延伸:圖示
使用主題較多的朋友會發現很多桌面主題裡面包含了Windows主題之外的內容,例如很多很漂亮的成套成套的圖示,但是不管怎么切換主題總是沒看到這些圖示在系統中出現(除了少數幾個能夠在.theme檔案中定義的之外)。實際上,這是因為Windows主題並不支持圖示主題的使用。而這些成套的圖示集,一般都是要用到另外的軟體來使用的。
在這裡,就要給大家推薦一個套用比較廣泛的圖示主題軟體:IconPackager。現在發布的包含有圖示主題的Theme中,最常見的就是IconPackager圖示主題了。
IconPackager是一個集圖示管理、圖示轉換、圖示主題製作為一身的強大Windows圖示主題
工具,從軟體名稱就知道,它最大的功能就是圖示包的套用上。很多XP桌面主題包里所帶的圖示集都會加入IconPackager圖示主題定義檔案,能夠用IconPackager打開,很方便地一次性替換所有圖示。這種替換方式對系統沒有任何影響,實際上只是在Windows的圖示快取中進行替換,隨時可以恢復。下面就簡單介紹IconPackager以及它的圖示主題的用法。為了方便,下面簡稱IconPackager為IP。
先做個名詞解釋
【d=.icl檔案】IConLibrary(圖示庫)的簡稱,一種使用圖示編輯軟體(例如Microangelo)製作的16位WindowsDLL庫檔案,只不過後綴名不同而已,專用於圖示的打包使用,裡面除了圖示什麼都沒有,優點是能夠將大量圖示壓縮成一個檔案便於使用和交流,而且不需要解包就可以直接使用裡面的圖示。WindowsXP默認就支持這種圖示庫格式。
IP格式的圖示主題有兩種發布方式,第一種也是最常見的方式是圖示+.iptheme定義檔案的形式,這種形式發布的圖示主題一般都在一個單獨的目錄中,圖示可能是一大堆.ico檔案,也可能是單個的.icl(上面解釋啦)圖示庫檔案,還有一個最重要的.iptheme檔案。不得不再做一個名詞解釋啦
.iptheme是IP專用的圖示主題定義檔案,就像第2節里說的.theme主題檔案一樣,也是文本格式,可以用任何文本編輯器打開,它的內容一看就懂。
【SoftwareInfo】部分是IP軟體的說明,不用管它,下面的【PackageInfo】就是圖示內容的定義了,例如:MyComputer=%ThemeDir%02.ico意思是“我的電腦”的圖示定義為圖示主題目錄下的02.ico檔案,前面是系統中某個顯示圖示的位置,後面是具體定義的圖示檔案。也可能是:MyComputer=%ThemeDir%01.icl,1,這樣的定義指向的就是一個.icl圖示庫檔案,在逗號後面跟的數字1就是指圖示庫檔案中的第一個圖示。
如果你的系統中安裝了IP,只要雙擊.iptheme檔案IP就會自動啟動然後打開這個圖示主題 ,再點擊IP視窗左邊的“Icons&Cursors”,就可以在右邊看到該圖示主題內定義的各種具體圖示了,分為桌面、開始選單、資料夾、驅動器、其他、檔案類型、滑鼠指針、快速啟動欄等八個類,基本涵蓋了Windows中所有的圖示,甚至是很多第三方軟體的檔案格式一樣找得到。對於不滿意的圖示,雙擊圖示項就可以更改,或者選中圖示項之後點擊右邊的Change...,找到想要的圖示確認就會在IP中載入了。點擊右下方的Apply即可套用當前的圖示主題,稍等幾秒系統的圖示主題就替換完成了。所替換圖示的多少由圖示主題中包含的圖示多少來決定,如果圖示主題圖示類型很全的話,基本上整個系統內的圖示變得都會讓你認不出來了。要注意的是在IP中圖示定義是絕對路徑,也就是說IP中定義好的圖示一旦.ico檔案或者.icl檔案被移動了,在IP中就無效了。
IP的另一種主題發布形式是單獨的一個.ip檔案,這個檔案是IP專用格式的圖示壓縮檔,裡面包括了該圖示主題中的圖示檔案以及IP的圖示主題定義檔案,用其他軟體是打不開的,使用起來和.theme一樣,只要雙擊就會在IP中載入,不過IP會先將這個壓縮檔解壓到自己安裝目錄中的themes目錄下再載入,原來的.ip檔案位置不會影響到圖示主題的使用。
另外,IP圖示主題中也可以包含滑鼠指針,定義方式和圖示是一樣的。大家找個比較完整的IP圖示主題研究一下定義檔案就明白了。
本教程只是講圖示主題的套用,至於IP的其他功能和套用大家就可以自己研究了,總之IP是一個強大而又好用的圖示工具,不過它的使用是一點都不難的。用它做一個自己的圖示主題,發放給自己的朋友,保證褲褲的。
一套好的桌面主題加上一套好的圖示主題,絕對可以讓整個系統煥然一新。
五.桌面主題套用的延伸:系統檔案的修改
有了以上四步,相信大家的Windows已經有點讓人認不出來了吧,下面要講的就是更進一步的套用:修改系統檔案,把Windows變得不像Windows。
其實有很多的UI是保存在一些執行檔里的(.exe.dll.ocx等),比如按鈕圖示、動畫、選單文字、程式和對話框的布局等等,編輯這些檔案可以讓你隨心所欲的改變你的Windows操作界面,這並不像想像中的那么難。
備份!既然是系統檔案,相信大家都不敢隨便刪掉的,所以一定要做好備份工作,而且還應當清楚的標明該檔案的地理位置。一旦修改失敗,立即啟動到DOS,還原備份檔案。再有就是,一個好的習慣就是改完一個檔案,就備份、覆蓋、重啟、檢驗,再改下一個,最忌的是改了一堆檔案,同時覆蓋,結果出了問題,卻不知道到底是哪個檔案改壞了。請記住:在編輯任何系統檔案之前,備份之!
ResourceHacker,相信不少人都已經知道這個優秀的免費軟體了,最為讓人稱心的是它有完美的漢化。
PEResourceEditor,同樣是免費軟體,而且代碼公開,但可能需要兩個Delphi6的運行庫(vcl60.rarrtl60.rar)。完全不比ResourceHacker遜色。
exescope,共享軟體,可以編輯16位的Binary檔案。
ResBuilder,TGTSoft(就是做StyleXP的那家)出品的一個功能強大的免費軟體。它還能編輯被集成到執行檔里的.xml.ini,十分吸引人。
HEX編輯器 既然有UltraEdit,我就不說別的了
檔案替換
我們知道,當檔案被使用時它是不能被替換的,而大多關於UI的系統檔案都是在啟動時就被啟用了的,這就為我們替換系統檔案帶來麻煩,下面的兩個軟體可以幫助我們。
CopyLock,Windows9x/2k,免費軟體
Replacer,Windows2k/XP,免費軟體
其他
ResThief,免費軟體,當把一個可執行或其他Binary檔案拖到它上頭後,它會把其中的所有資源檔案展開並放到一個目錄里。
SmartView,免費軟體
修改介紹16位和32位檔案
前面提到的幾個資源編輯器都能修改32位檔案,但我們依然會碰到16位的檔案(特別是在Windows9x系統里),這時候就只有用eXeScope了。
編輯檔案
通常的方法,只是簡單的從檔案中提取資源檔案(點陣圖、動畫等等)、編輯、替換到檔案里即可。或是修改對話框內的布局,修改檔案內的文字等等,都可以在編輯器內簡單操作就可完成。點陣圖(.bmp.ico等)、動畫(.avi等)的編輯工具可以選用自己習慣的來。
需要注意的是所修改的資源檔案的檔案大小、顏色索引、透明顏色的指定等等,一個比較好的方法是編輯原始的資源檔案。
通常的,透明顏色會是紫紅色(R,G,B:255,0,255),但有時是在點陣圖的背景色里。經常會碰到一個點陣圖檔案里包含了幾個不同功能的按鈕的圖,而且在另外的圖裡可能還有對應的滑鼠懸停和滑鼠按下的圖,一個較好的方法是編輯原圖。
對於XP,我們會看到有不少點陣圖是有Alpha效果的(如:explorer的工具列內的按鈕),一個有效的辦法是當用資源編輯器提取檔案後,立刻改名為.png(原來為.bmp),然後用photoshop之類的軟體編輯保存,再用mspaint打開並另外儲存為.bmp即可。(註:此法未經本人測試)
.dll檔案內的HTML編輯!除了點陣圖、對話框等,還有一些東西是以HTML保存的,如IE的"about"(shdoclc.dll,section23)和"friendlyHTTPerrormessagepages"(shdoclc.dll,section2110)。ResourceHacker能很方便的編輯這個的,編輯後點擊"編譯腳本"就可以了。但對於替換HTML里引用的.gif/.jpg等圖,則不適於用Resource Hacker,而eXeScope則能勝任愉快。另外,你完全可以用.gif動畫來替換任何.gif。