Windows 8 主题与Windows 7(Windows 7)主题没有什么不同,至少在您第一次看到它们时是这样。在两个操作系统中创建和自定义主题的过程是相同的,但是由该过程产生的主题文件具有不同的文件扩展名(file extension),并且它们彼此不兼容。这是为什么?我真的很想知道这个问题的答案,所以我决定自己做一些研究。这是我学到的:
什么是 Windows 主题?- 极客的定义
首先,我想先解释一下什么是 Windows 主题,与您使用的Windows 版本无关。(Windows version)微软(Microsoft)称“主题是桌面背景图片、窗口颜色和声音的组合”。
这是正确的,但它并没有分享全貌。因此,我想提供一个更长更彻底的定义。它是这样的:
“Windows 主题是具有特定文件扩展名的存档(("A Windows theme is an archive with a specific file extension () Windows 7中的.themepack和Windows 8中的(Windows 8).deskthemepack)。它包括桌面上使用的壁纸以及(Desktop)以下设置:标准桌面(Desktop)图标(计算机(Computer)、网络(Network)、正在使用的回收站(Recycle Bin)等)、应用于Windows和所有桌面程序的视觉(Windows)样式信息(style information)、正在使用的鼠标光标、不使用计算机时运行的屏幕保护程序以及应用于操作系统(operating system)的声音方案。”
当您提取Windows 主题(Windows theme)的内容时,您会发现类似于以下的结构:一个DesktopBackground文件夹,其中包含(DesktopBackground)桌面(Desktop)上使用的所有壁纸和一个扩展名为“.theme”的文件,类似于“.ini” "各种程序使用的配置文件。
如果您编辑“.theme”文件,您会注意到它的结构类似于下面屏幕截图中所示的结构。
与Windows 7(Windows 7)主题相比, Windows 8(Windows 8)主题有何不同?
既然Windows 主题(Windows theme)具有相同的定义和作用(definition and role),那么无论您使用的是哪个Windows 版本(Windows version),为什么 Windows 8 主题在Windows 7中不起作用?
为了充分理解技术差异,我使用了我们创建的一个很棒的主题,在Windows 7和Windows 8中使用相同的壁纸和几乎相同的设置。这是一个很棒的主题。
在我在Windows 8和Windows 7中手动创建主题后,我提取了每个主题文件(theme file)并开始寻找可以解释为什么Windows 8主题与(Windows 8)Windows 7不兼容的差异。
第一个明显的区别是文件扩展名。Windows 8 主题具有.deskthemepack文件扩展名,而Windows 7主题具有.themepack 文件扩展名(file extension)。此外,每个文件的类型都有不同的名称:Windows 8 主题文件(theme file)被命名为Windows 桌面主题包文件(Windows Desktop Theme Pack File),而在 Windows 7 中它被命名为Windows 主题包文件(Windows Theme Pack File)。
如果Windows主题具有几乎相同的设置,它们应该具有大致相同的大小。正如您在上面的屏幕截图中看到的,Windows 8主题仅比Windows 7主题小 1 KB。
提取每个主题文件(theme file)的内容,显示出相同的结构和文件(structure and files)。因此,下一步是打开每个主题中包含的“.theme”文件,并比较其中存储的设置。直到那时我才开始注意到一些重要的差异。
首先(First),Windows 8主题有一个ThemeID - 一个类似于Windows 注册表(Windows Registry)中使用的标识符。Windows 7 主题不使用此类ID(IDs)。
然后,Windows 7 主题有两个似乎从Windows 8主题中消失的设置:TileWallpaper和WallpaperStyle - 它们用于描述壁纸在屏幕上的位置。
Windows 8 主题引入了三个新设置:MultimonBackgrounds - 当您的壁纸与多显示器设置和PicturePosition兼容时使用- 很可能它取代了前面提到的两个Windows 7定位设置。(Windows 7)
第三个新设置是AutoColorization。这是Windows 8主题的另一个新功能 - 可以根据当前活动壁纸的主颜色更改应用于屏幕上所有窗口的颜色。
差异列表到此为止,它比我预期的要短。
结论
从我的小研究练习中可以看出, (research exercise)Windows 8主题在(Windows 8)Windows 7中不起作用的原因是因为Windows 8为其桌面主题引入了新功能:多显示器支持(multi-monitor support),所有打开的窗口基于活动的自动着色(auto colorization)壁纸和每个主题的新识别系统(identification system)。
What's New About Windows 8 Themes? Why They Don't Work in Windows 7?
Windows 8 themes are not differеnt from Windows 7 themes, at least not when you look at them for the first time. The process for creating and customizing themes is the same in bоth operating systems but the theme files that result from the process have a different file extension and theу are not compatible with each other. Why is that? I reаlly wanted to learn the answer to this question and I decided to do a bit of researсh on mу own. Here's what I haνe learned:
What is a Windows theme anyway? - A geek's definition
First, I would like to start by explaining what a Windows theme is, independent of the Windows version you are using. Microsoft says that "a theme is a combination of desktop background pictures, window colors, and sounds".
That's correct but it doesn't share the full picture. Therefore, I would like to provide a longer and more thorough definition. Here it goes:
"A Windows theme is an archive with a specific file extension (.themepack in Windows 7 and .deskthemepack in Windows 8). It includes the wallpapers used on the Desktop as well as the settings like: the standard Desktop icons (Computer, Network, Recycle Bin, etc) being used, visual style information applied to Windows and all desktop programs, the mouse cursors being used, the screensaver that runs when the computer is not in use and the sound scheme applied to the operating system."
When you extract the content of a Windows theme, you will find a structure similar to the one below: a DesktopBackground folder which includes all the wallpapers used on the Desktop and a file with the extension ".theme" which is similar to ".ini" configuration files used by all kinds of programs.
If you edit the ".theme" file, you will notice that it has a structure similar to what is shown in the screenshot below.
What's different about Windows 8 themes compared to Windows 7 themes?
Since a Windows theme has the same definition and role, no matter the Windows version you are using, why don't Windows 8 themes work in Windows 7?
In order to fully understand the technical differences, I have used an awesome theme we created, using the same wallpapers and almost the same settings, both in Windows 7 and Windows 8. It is a great looking theme.
After I created the theme manually, both in Windows 8 and Windows 7, I extracted each theme file and started looking for differences that would explain why Windows 8 themes are not compatible with Windows 7.
The first noticeable difference is the file extension. Windows 8 themes have the .deskthemepack file extension while Windows 7 themes have the .themepack file extension. Also, the type for each of these files has a different name: a Windows 8 theme file is named Windows Desktop Theme Pack File while in Windows 7 it is named Windows Theme Pack File.
If Windows themes have almost the same settings, they should have about the same size. As you can see in the screenshot above, the Windows 8 theme is only 1 KB smaller than the Windows 7 theme.
Extracting the contents of each theme file, revealed the same structure and files. Therefore, the next step was to open the ".theme" file included in each theme and compare the settings stored inside. Only then did I start to notice a few important differences.
First of all Windows 8 themes have a ThemeID - an identifier like those used in the Windows Registry. Windows 7 themes don't use such IDs.
Then, Windows 7 themes have two settings that seem to be gone from Windows 8 themes: TileWallpaper and WallpaperStyle - they are used to describe the position of the wallpaper on the screen.
Windows 8 themes introduce instead three new settings: MultimonBackgrounds - used when you have wallpapers compatible with multi monitor setups and PicturePosition - most probably, it replaces the two Windows 7 positioning settings mentioned earlier.
The third new setting is AutoColorization. This is another new feature of Windows 8 themes - the possibility to change the color applied to all the windows on the screen, based on the main color of the currently active wallpaper.
The list of differences stops here and it shorter than I expected.
Conclusion
As you can see from my little research exercise, the reason why Windows 8 themes don't work in Windows 7 is because Windows 8 introduces new features to its desktop themes: multi-monitor support, auto colorization of all opened windows based on the active wallpaper and a new identification system for each theme.