|
Windows XP 采用了全新的主题管理内核,其功能非常强大,能够实现的效果非常炫目,但是居然不支持非官方的桌面主题,Plus!里那几个简单的主题不用几天就看腻味了,所以,要想使用第三方的主题,就必须通过非官方的办法来解决。
一. 必备软件
1. Style XP
Style XP 是一个第三方的XP桌面主题支持和管理软件,也是目前最好的。它使用的是Windows XP 的主题内核,并且强化了很多功能,可以导入、选择、更换和管理官方的和非官方的桌面主题、壁纸甚至登陆界面。该软件安装之后会在XP中添加一个后台运行的服务 StyleXP Service,占用1-2MB的内存,这个服务也就是能够使用第三方主题的基本。另外,它的主程序可以选择两种运行方式,一种是保持运行在系统托盘里,这种模式在系统托盘里有一个StyleXP的图标,随时可以点击调出主界面;一种是不消耗资源的方式,主程序平时不运行。建议大家选择第二种方式,因为这个主程序运行起来可不秀气,占用内存到10-20MB。实际上第二种方式也可以随时运行主程序来管理主题。
Style XP 是共享软件,自带中文语言,在1.01L版本之后正式支持 Windows XP SP1,1.01P版本开始支持 Windows 2003。
2. UxTheme.dll 破解版
UxTheme.dll 就是XP系统主题支持的核心文件,也就是它让XP无法使用第三方主题。如果你不想安装 StyleXP,那么你可以通过破解 UxTheme.dll 文件来达到目的。实际上,UxTheme.dll 破解版就是推出 StyleXP 的 TGT Soft 在爱好者的强烈要求下放出来的,Microsoft 好像也默认了这种行为,呵呵,真是难得。使用 UxTheme.dll 破解版之后,无需任何其他的软件你就可以在XP的显示属性中管理和调用第三方的主题和风格。
下载 UxTheme.dll 破解版之后,先将 X:\Windows\System32\UxTheme.dll 重命名,例如改成 UxTheme.dll.bak ,然后将破解版的复制过来,重新启动即可。注意,这里还牵涉到Windows XP 的系统文件保护,请参见下面的内容。 以上两种解决办法只要任选其一即可,各有各的好处,大家看着办吧。笔者个人来言用的是前者,因为当StyleXP以服务运行时占用的资源非常少,2MB左右,无须修改系统文件,而且管理起主题来比Windows的显示属性方便得多,而且还可以随意更换和管理Logon界面,不需要去烦琐地替换系统文件,等等。真正说喜欢用桌面主题的话,不大可能在乎这么一点点资源的占用。
二. 桌面主题的构成
一个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 的重要作用了。这就是为什么有很多主题就只有这一个文件却能够实现非凡的效果。这里有一点很重要,就是 .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就会因为找不到主题里的文件而提示出错,因此,最好的办法是建立一个不容易变动的目录放置这些需要用到的文件,然后再建立主题文件,就不容易发生错误了。
四. 桌面主题应用的延伸:图标
使用主题较多的朋友会发现很多桌面主题里面包含了Windows主题之外的内容,例如很多很漂亮的成套成套的图标,但是不管怎么切换主题总是没看到这些图标在系统中出现(除了少数几个能够在 .theme 文件中定义的之外)。实际上,这是因为 Windows 主题并不支持图标主题的使用。而这些成套的图标集,一般都是要用到另外的软件来使用的。在这里,就要给大家推荐一个应用比较广泛的图标主题软件:IconPackager。
现在发布的包含有图标主题的Theme中,最常见的就是 IconPackager 图标主题了。IconPackager 是一个集图标管理、图标转换、图标主题制作为一身的强大Windows图标主题工具,从软件名称就知道,它最大的功能就是图标包的应用上。很多XP桌面主题包里所带的图标集都会加入IconPackager图标主题定义文件,能够用IconPackager打开,很方便地一次性替换所有图标。这种替换方式对系统没有任何影响,实际上只是在Windows的图标缓存中进行替换,随时可以恢复。下面就简单介绍IconPackager以及它的图标主题的用法。为了方便,下面简称 IconPackager 为 IP。
先做个名词解释:
.icl 文件:ICon Library (图标库)的简称,一种使用图标编辑软件(例如Microangelo)制作的16位Windows DLL库文件,只不过后缀名不同而已,专用于图标的打包使用,里面除了图标什么都没有,优点是能够将大量图标压缩成一个文件便于使用和交流,而且不需要解包就可以直接使用里面的图标。Windows XP 默认就支持这种图标库格式。IP 格式的图标主题有两种发布方式,第一种也是最常见的方式是 图标 + .iptheme 定义文件 的形式,这种形式发布的图标主题一般都在一个单独的目录中,图标可能是一大堆 .ico文件,也可能是单个的 .icl (上面解释啦)图标库文件,还有一个最重要的 .iptheme 文件。不得不再做一个名词解释啦。
.iptheme 是IP专用的图标主题定义文件,就像第2节里说的 .theme 主题文件一样,也是文本格式,可以用任何文本编辑器打开,它的内容一看就懂。[Software Info] 部分是IP软件的说明,不用管它,下面的 [Package Info] 就是图标内容的定义了,例如:My Computer=%ThemeDir%02.ico 意思是"我的电脑"的图标定义为图标主题目录下的 02.ico 文件,前面是系统中某个显示图标的位置,后面是具体定义的图标文件。也可能是:My Computer=%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,还原备份文件。再有就是,一个好的习惯就是改完一个文件,就备份、覆盖、重启、检验,再改下一个,最忌的是改了一堆文件,同时覆盖,结果出了问题,却不知道到底是哪个文件改坏了。请记住:在编辑任何系统文件之前,备份之!
Resource Hacker,相信不少人都已经知道这个优秀的免费软件了,最为让人称心的是它有完美的汉化。
PE Resource Editor,同样是免费软件,而且代码公开,但可能需要两个delphi 6的运行库(vcl60.rar rtl60.rar)。完全不比Resource Hacker逊色。
eXeScope,共享软件,可以编辑16位的Binary文件。
ResBuilder,TGTSoft(就是做StyleXP的那家)出品的一个功能强大的免费软件。其主页介绍为:"With ResBuilder, skin/logon/shellstyle designers have a simple way to alter alpha mask bitmaps in a resource file. ResBuilder auto-converts 32 bit BMPs to PNGs and back so you can edit the 8 bit alpha mask in your favorite editor. Good for LogonUI.EXE files. Also has a text and hex editor."。另外,它还能编辑被集成到可执行文件里的.xml .ini,十分吸引人。
HEX编辑器,既然有UltraEdit,我就不说别的了;)
文件替换
我们知道,当文件被使用时它是不能被替换的,而大多关于UI的系统文件都是在启动时就被启用了的,这就为我们替换系统文件带来麻烦,下面的两个软件可以帮助我们。
CopyLock,Windows 9x/2k,免费软件,"is a small program that allows the replacement of one or many files that are currently in use (e.g. the system files like comctl32.dll.) "
Replacer,Windows 2k/XP,免费软件,"is an easy to use system file exchanger for XP/2k. It uses a drag and drop interface to obtain input."
其他:
ResThief,免费软件,当把一个可执行或其他Binary文件拖到它上头后,它会把其中的所有资源文件展开并放到一个目录里。
SmartView,免费软件,"is a free Windows program that allows you to select a directory and you can view all the bitmaps, metafiles, icons and icons held in executables as thumbnails."
修改介绍 16位和32位文件
前面提到的几个资源编辑器都能修改32位文件,但我们依然会碰到16位的文件(特别是在Windows 9x系统里),这时候就只有用eXeScope了。
编辑文件:
通常的方法,只是简单的从文件中提取资源文件(位图、动画等等)、编辑、替换到文件里即可。或是修改对话框内的布局,修改文件内的文字等等,都可以在编辑器内简单×作就可完成。位图(.bmp .ico等)、动画(.avi等)的编辑工具可以选用自己习惯的来。需要注意的是所修改的资源文件的文件大小、颜色索引、透明颜色的指定等等,一个比较好的方法是编辑原始的资源文件。
通常的,透明颜色会是紫红色(R,G,B:255,0,255),但有时是在位图的背景色里。经常会碰到一个位图文件里包含了几个不同功能的按钮的图,而且在另外的图里可能还有对应的鼠标悬停和鼠标按下的图,一个较好的方法是编辑原图。对于XP,我们会看到有不少位图是有Alpha效果的(如:explorer的工具栏内的按钮),一个有效的办法是当用资源编辑器提取文件后,立刻改名为.png(原来为.bmp),然后用photoshop之类的软件编辑保存,再用Ms Paint打开并另存为.bmp即可。(注:此法未经本人测试)
.dll文件内的HTML编辑!
除了位图、对话框等,还有一些东西是以HTML保存的,如IE的"about"(shdoclc.dll,section 23)和"friendly HTTP error message pages"(shdoclc.dll,section 2110)。Resource Hacker能很方便的编辑这个的,编辑后点击"编译脚本"就可以了。但对于替换HTML里引用的.gif/.jpg等图,则不适于用Resource Hacker,而eXeScope则能胜任愉快。另外,你完全可以用.gif动画来替换任何.gif。 |
|