一.桌面主题的构成
一个XP的桌面主题可以包含好几个部分,风格、壁纸、屏保、鼠标指针、系统声音事件、图标,除了风格是必须的之外,其他部分都是可选的。风格可以定义的内容是大家在Windows里所能看到的一切,例如窗口的外观、字体、颜色,按钮的外观等等等等,一个桌面主题里风格就决定了大家所看到的Windows的样子。
大家可以打开 X:\Windows\Resources\Themes 目录,这个目录就是XP中存放桌面主题的目录。你能看到有很多 xxx.theme文件,你在显示属性的“主题”列表里看到有多少个主题里就有多少个 .theme 文件,它就是Windows主题文件,一个桌面主题的总定义文件,它的内容不多,是文本格式的,以XP的默认官方主题 Luna 为例,大家用任何一个文本编辑器打开 Luna.theme ,可以很直观的看到其内容。
[Theme] 部分是定义我的电脑、我的文档、网络邻居以及回收站这几个主要部件的图标,Luna.theme 中 My Computer 定义的图标就是 X:\WINDOWS\explorer.exe,0 ,也就是 explorer.exe 中包含的第一个图标,没有包含特定图标的主题这里一般都是这个值。这里即可以指向程序文件,也可以指向DLL文件或者图标文件。
[Control Panel\Colors] 部分定义的是各个Windows部件如标题栏、窗口背景、文字等的颜色,这里定义的颜色大部分时候是无关紧要的,因为系统会优先按照色彩方案中的配色显示,这在后面的部分会讲到。
[Control Panel\Cursors] 定义的就是鼠标指针了,每一行定义一个指针文件,例如 Arrow 定义箭头光标,Wait 定义等待光标。Luna中这里是空的,代表使用Windows默认的鼠标指针,这里的定义必须是具体的 .cur 光标文件或者 .ani 动画光标文件。
[Control Panel\Desktop] 定义桌面的显示,包括壁纸图片的位置,显示方式,以及是否激活屏保。Luna中的 Wallpaper=%WinDir%web\wallpaper\Bliss.bmp 就是大家看得最多的“菜地蓝天”了 。这里的 ScreenSaveActive=X 和下面的 [boot] 部分 SCRNSAVE.EXE=XXX 是对应的,前者管是否允许屏保,后者是屏保的具体地址。
[VisualStyles] 就是最关键的部分了,这里指向的就是一个桌面主题的核心部分: .msstyles 可视化外观风格文件,Luna中指的就是 Path=%WinDir%resources\Themes\luna\luna.msstyles ,后面会讲到。再往下走就是定义声音事件的了,和我们在 控制面板 → 声音和音频设备 → 声音 中设置的项目是一样的。
一般来说一个完整的主题基本文件结构就是一个 .theme 文件和一个放置风格文件等其他文件的文件夹,在 [VisualStyles] 部分可以找到这个文件夹的名字。了解了 .theme 文件的结构之后,大家就完全可以按照自己的喜好编辑了,只是要确认所有文件的指向都必须是有效的,否则主题无法使用。
需要说明的是, .theme 文件不是必须的,.msstyles 风格文件才是。因此,有些主题只有 .msstyles 文件,没有 .theme 文件,一样可以照常使用。只是在显示属性的主题列表中是看不到的,必须到“外观”中才可能看到。
下面,根据 [VisualStyles] 中的路径我们再打开 Luna 文件夹,现在可以看到 luna.msstyles 风格文件了。.msstyles 是一个桌面主题的最主要的部分,它的内容一般包含了几乎大家所有在Windows里看到的一切,包括窗口、工具栏、按钮等等的颜色、背景图案、立体效果、字体之类,它基本可以确定一个主题的效果。有兴趣的朋友可以用 StyleBuilder 这个也是由 TGT Soft 出品的专门编辑风格文件的工具打开来看看。
这里有一点很重要,就是 .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 文件替换,甚至可以自己用 Resource Hacker 之类的工具自己编辑里面的位图和颜色、字体定义等,有时候可以达到意想不到的效果。
二. 桌面主题的使用
上面已经讲了主题的基本文件结构,在了解了文件结构之后再谈安装主题就容易多了。
大家从网上下载的桌面主题各式各样,有的只有几百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就会因为找不到主题里的文件而提示出错,因此,最好的办法是建立一个不容易变动的目录放置这些需要用到的文件,然后再建立主题文件,就不容易发生错误了。
============================
桌面背景图片的存放地址:
1. X:\WINDOWS\Web\Wallpaper (X为 Windows系统所在盘符);
2. X:\WINDOWS文件夹中的BMP格式的图像文件,系统自带的几个布格图像;
3. 我的文档-图片收藏文件夹中的所有图片文件。
4. X:\Documents and Settings\用户名\Application Data\Microsoft\Internet Explorer文件夹中的图片文件.
说明: 此处存放的图片在网页上设置为桌面背景的文件;
用户名:为当前用户的用户名;
如:Windows系统装在C盘,用户名为WangMing则存放路径为:
c:\Documents and Settings\WangMing\Application Data\Microsoft\Internet Explorer
5. X:\Documents and Settings\用户名\Local Settings\Application Data\Microsoft文件夹中的图片文件;
在注册表中包含的墙纸信息:
1. 在网页中设为墙纸的图片文件存放路径
[HKEY_CURRENT_USERS\Software\Microsoft\Internet Explorer\Desktop\General] 里的Wallpaper
2. 通过我的电脑属性 控制面板中的"桌面" ,设置的背景图片信息
[HKEY_CURRENT_USERS\Control Panel\Desktop]里的Wallpaper
==========================================================
屏保文件的保存位置:
一般保存在C:\WINNT\SYSTEM32中,文件格式为 ".scr";