一個XP的桌面主題可以包含好幾個部分,風(fēng)格、壁紙、屏保、鼠標(biāo)指針、系統(tǒng)聲音事件、圖標(biāo),除了風(fēng)格是必須的之外,其他部分都是可選的。風(fēng)格可以定義的內(nèi)容是大家在Windows里所能看到的一切,例如窗口的外觀、字體、顏色,按鈕的外觀等等等等,一個桌面主題里風(fēng)格就決定了大家所看到的Windows的樣子。
大家可以打開 C:\Windows\Resources\Themes 目錄,這個目錄就是XP中存放桌面主題的目錄。你能看到有很多 xxx.theme文件,你在顯示屬性的“主題”列表里看到有多少個主題里就有多少個 .theme 文件,它就是Windows主題文件,一個桌面主題的總定義文件,它的內(nèi)容不多,是文本格式的,以XP的默認(rèn)官方主題 Luna 為例,大家用任何一個文本編輯器打開Luna.theme ,可以很直觀的看到其內(nèi)容。
[Theme] 部分是定義我的電腦、我的文檔、網(wǎng)絡(luò)鄰居以及回收站這幾個主要部件的圖標(biāo),Luna.theme 中 My Computer 定義的圖標(biāo)就是 X:\Windows\explorer.exe,0 ,也就是explorer.exe 中包含的第一個圖標(biāo),沒有包含特定圖標(biāo)的主題這里一般都是這個值。這里
即可以指向程序文件,也可以指向DLL文件或者圖標(biāo)文件。
[Control Panel\Colors] 部分定義的是各個Windows部件如標(biāo)題欄、窗口背景、文字等的顏色,這里定義的顏色大部分時(shí)候是無關(guān)緊要的,因?yàn)橄到y(tǒng)會優(yōu)先按照色彩方案中的配色顯示,這在后面的部分會講到。
[Control Panel\Cursors] 定義的就是鼠標(biāo)指針了,每一行定義一個指針文件,例如 Arrow 定義箭頭光標(biāo),Wait 定義等待光標(biāo)。Luna中這里是空的,代表使用Windows默認(rèn)的鼠標(biāo)指針,這里的定義必須是具體的 .cur 光標(biāo)文件或者 .ani 動畫光標(biāo)文件。
[Control Panel\Desktop] 定義桌面的顯示,包括壁紙圖片的位置,顯示方式,以及是否激活屏保。Luna中的 Wallpaper=%WinDir%web\wallpaper\Bliss.bmp 就是大家看得最多的“菜地藍(lán)天”了 。
這里的 ScreenSaveActive=X 和下面的 [boot] 部分SCRNSAVE.EXE=XXX 是對應(yīng)的,前者管是否允許屏保,后者是屏保的具體地址。
[VisualStyles] 就是最關(guān)鍵的部分了,這里指向的就是一個桌面主題的核心部分:.msstyles 可視化外觀風(fēng)格文件,Luna中指的就是 Path=%WinDir%resources\Themes\luna\luna.msstyles ,后面會講到。
再往下走就是定義聲音事件的了,和我們在 控制面板 → 聲音和音頻設(shè)備 → 聲音 中設(shè)置的項(xiàng)目是一樣的。
一般來說一個完整的主題基本文件結(jié)構(gòu)就是一個 .theme 文件和一個放置風(fēng)格文件等其他文件的文件夾,在 [VisualStyles] 部分可以找到這個文件夾的名字。了解了 .theme 文件的結(jié)構(gòu)之后,大家就完全可以按照自己的喜好編輯了,只是要確認(rèn)所有文件的指向都必須是有
效的,否則主題無法使用。
需要說明的是, .theme 文件不是必須的,.msstyles 風(fēng)格文件才是。因此,有些主題只有.msstyles 文件,沒有 .theme 文件,一樣可以照常使用。只是在顯示屬性的主題列表中是看不到的,必須到“外觀”中才可能看到。
下面,根據(jù) [VisualStyles] 中的路徑我們再打開 Luna 文件夾,現(xiàn)在可以看到luna.msstyles 風(fēng)格文件了。.msstyles 是一個桌面主題的最主要的部分,它的內(nèi)容一般包含了幾乎大家所有在Windows里看到的一切,包括窗口、工具欄、按鈕等等的顏色、背景圖案、立體效果、字體之類,它基本可以確定一個主題的效果。有興趣的朋友可以用StyleBuilder 這個也是由 TGT Soft 出品的專門編輯風(fēng)格文件的工具打開來看看。就了解.msstyles 的重要作用了。這就是為什么有很多主題就只有這一個文件卻能夠?qū)崿F(xiàn)非凡的效果。這里有一點(diǎn)很重要,就是 .msstyles 文件只能放置在 X:\Windows\Resources\Themes目錄的子目錄下,并且所在的子目錄名稱必須和本身的文件名(不包括后綴名)一致,例如 Luna.msstyles 必須放在 X:\Windows\Resources\Themes\Luna 下才有效,大家可以試試將目錄或者文件其中一項(xiàng)改名,就會發(fā)現(xiàn)該風(fēng)格已經(jīng)無法正常使用了。
大部分主題目錄里還會有一個 Shell 目錄,這里還是以官方主題 Luna 為例,和Luna.msstyles 在一起的就有一個 Shell 目錄,打開 Shell 目錄能夠看到三個子目錄,分別是 Homestead、NormalColor、Metallic,正好分別對應(yīng) Luna 主題中的三個色彩方案:橄欖綠、默認(rèn)(藍(lán))、銀色。三個目錄每個下面都有一個 shellstyle.dll 文件。shellstyle.dll 的作用比較簡單,它定義的是資源管理器中左邊的公共欄的樣式,包括位圖、字體和顏色配置,例如關(guān)閉和打開“詳細(xì)信息”的按鈕,以及大家打開音樂文件夾時(shí)文件列表右下角背景中顯示的音符圖案等。一般一個主題中有幾個色彩方案就會有幾個shellstyle.dll 文件,每個 shellstyle.dll 的內(nèi)容都是配合所針對的色彩方案的,不盡相同。
和 .theme 文件一樣, Shell 文件夾和 shellstyle.dll 都不是必須的,很多主題就沒有這個內(nèi)容。即便將已有 shellstyle.dll 刪除也不會對主題產(chǎn)生太大的影響,只是在該色彩方案下它所定義的內(nèi)容會變成系統(tǒng)默認(rèn)的。大家完全可以嘗試在一個色彩方案中用其他色彩方案的 shellstyle.dll 文件替換,甚至可以自己用 Resource Hacker 之類的工具自己編輯里面的位圖和顏色、字體定義等,有時(shí)候可以達(dá)到意想不到的效果。