- UID
- 12747
- 阅读权限
- 100
- 精华
- 2
- 贡献值
- 0 分
- 注册时间
- 2007-6-30
- 最后登录
- 2012-5-8
     
 - 帖子
- 11924
- 积分
- 12318
- 坛币
- 3893 元
- 贡献值
- 0 分
- 在线时间
- 194 小时
- 注册时间
- 2007-6-30
- 最后登录
- 2012-5-8
|
1.theme与.msstyle文件都分别是什么
[attachimg]1825[/attachimg]
.theme文件
它定义了windows的声音、视觉风格、鼠标和系统图标的文件并且可以用记事本打开编辑。双击它,打开它的是“显示属性”里的“主题”标签。
.msstyle文件
windows的可视化视觉风格文件。定义的是windows的视觉风格。它对应的是“显示属性”里的“外观”标签。和它配套的shell文件夹里面的shellstyle.dll文件是定义窗口左边的常见任务栏的的风格。
用记事本打开.theme文件,就会有源代码如下:
; Copyright ?Microsoft Corp. 1995-2001
[Theme]
DisplayName=@themeui.dll,-2013
; My Computer
[CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon]
DefaultValue=%SystemRoot%\System32\imageres.dll,-109
; My Documents
[CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon]
DefaultValue=%SystemRoot%\SYSTEM32\mydocs.dll,0
; My Network Places - SHIDI_MYNETWORK
[CLSID\{208D2C60-3AEA-1069-A2D7-08002B30309D}\DefaultIcon]
DefaultValue=%SystemRoot%\SYSTEM32\imageres.dll,-25
; Recycle Bin
[CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon]
Full=%SystemRoot%\System32\imageres.dll,-54
Empty=%SystemRoot%\System32\imageres.dll,-55
[Control Panel\Cursors]
AppStarting=%SystemRoot%\cursors\aero_working.ani
Arrow=%SystemRoot%\cursors\aero_arrow.cur
Crosshair=
Hand=%SystemRoot%\cursors\aero_link.cur
Help=%SystemRoot%\cursors\aero_helpsel.cur
IBeam=
No=%SystemRoot%\cursors\aero_unavail.cur
NWPen=%SystemRoot%\cursors\aero_pen.cur
SizeAll=%SystemRoot%\cursors\aero_move.cur
SizeNESW=%SystemRoot%\cursors\aero_nesw.cur
SizeNS=%SystemRoot%\cursors\aero_ns.cur
SizeNWSE=%SystemRoot%\cursors\aero_nwse.cur
SizeWE=%SystemRoot%\cursors\aero_ew.cur
UpArrow=%SystemRoot%\cursors\aero_up.cur
Wait=%SystemRoot%\cursors\aero_busy.ani
DefaultValue=Windows Aero
DefaultValue.MUI=@main.cpl,-1020
[Control Panel\Desktop]
Wallpaper=%SystemRoot%\web\wallpaper\img24.jpg
Wallpaper.MUI=@themeui.dll,-2036
TileWallpaper=0
WallpaperStyle=2
Pattern=
ScreenSaveActive=1
[VisualStyles]
Path=%ResourceDir%\Themes\Aero\Aero.msstyles
ColorStyle=NormalColor
Size=NormalSize
ColorizationColor=0x45409efe
[boot]
SCRNSAVE.EXE=%SystemRoot%\System32\logon.scr
[MasterThemeSelector]
MTSM=DABJDKT
ThemeColorBPP=8
相信明眼人都能看出来,上面代码中定义的就是系统图标,颜色方案文件的所在位置,墙纸、鼠标光标、字体大小等。
[attachimg]1826[/attachimg]
2.主题究竟由什么构成呢?
/<.theme/>即主题文件。没有包含特定图标的主题呢就一般都是这个值。这里即可以指向程序文件 也可以指向DLL文件或者图标文件;
/<Control Panel\Colors/>定义的是各个Windows部件如标题栏、窗口背景、文字等的颜色。这里定义的颜色大部分时候是无关紧要的,因为系统会优先按照色彩方案中的配色显示;
/<Control Panel\Cursors/> 定义的就是鼠标指针了,每一行定义一个指针文件。这里的定义必须是具体的 .cur 光标文件或者 .ani 动画光标文件;
[attachimg]1827[/attachimg]
/<Control Panel\Desktop/>定义包括壁纸图片的位置、显示方式、屏保等。Wallpaper=%WinDir%web\wallpaper\1.bmp 就是定义主题的墙纸。这里的ScreenSaveActive=X 和下面的[boot] 部分 SCRNSAVE.EXE=XXX 是对应的,前者管是否允许屏保,后者是屏保的具体地址;
/<VisualStyles/>这里指向的就是一个桌面主题的核心部分:.msstyles 可视化外观风格文件Path=%WinDir%resources\Themes\aero\aero.msstyles,再往下走就是定义声音事件的了,和我们在控制面板 → 声音和音频设备 → 声音中设置的项目是一样的,一般来说一个完整的主题基本文件结构就是一个 .theme文件和一个放置风格文件等其他文件的文件夹。
在/<VisualStyles/> 可以找到这个文件夹(即主题名)的名字。
了解了.theme 文件的结构之后,大家就完全可以按照自己的喜好编辑了。只是要确认所有文件的指向都必须是有效的,否则主题无法使用。
需要说明的是:.theme文件不是必须的.msstyles 风格文件才是最紧要的!因此,有些主题只有.msstyles文件,没有.theme文件,一样可以照常使用。
只是在显示属性的主题列表中是看不到的,必须到“外观”中才可能看到。
这里有一点很重要,就是.msstyles文件只能放置在“X:\Windows\Resources\Themes”目录的子目录下,这非常重要的。
并且所在的子目录名称必须和本身的.msstyles文件名(不包括后缀名)一致。
例如:aero.msstyles 必须放在X:\Windows\Resources\Themes\aero 下才有效!
大家可以试试将目录或者文件其中一项改名,就会发现该风格已经无法正常使用了!
大部分主题目录里还会有一个Shell目录。
这里还是以官方主题aero为例,和aero.msstyles在一起的就有一个Shell目录。
打开Shell目录能够看到一个NormalColor目录,且下面有一个shellstyle.dll 文件。
shellstyle.dll 的作用比较简单,它定义的是资源管理器中左边的公共栏的样式 包括位图、字体和颜色配置。例如关闭和打开“详细信息”的按钮,以及大家打开音乐文件夹时文件列表右下角背景中显示的音符图案等。一般一个主题中有几个色彩方案就会有几个shellstyle.dll 文件
每个 shellstyle.dll 的内容都是配合所针对的色彩方案的。
和 .theme 文件一样Shell 文件夹和shellstyle.dll 都不是必须的。
很多主题就没有这个内容,即便将已有shellstyle.dll删除也不会对主题产生太大的影响。
只是在该色彩方案下它所定义的内容会变成系统默认的。
大家完全可以尝试在一个色彩方案中用其他色彩方案的shellstyle.dll文件替换。 |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

|