I know most of us have heard the term "themes" and "visual styles" and they seem to be interchangeable...however in reality there IS a difference. This isn't so much of a tutorial, as an explanation of the differences between themes and visual styles.
The first difference, of course, is the extension. Themes are saved with a "*.theme" extension, where-as visual styles have a "*.msstyles" extension. Themes and visual styles are generally saved in the C:\Windows\Resources\Themes folder on your hard drive.
Visual styles are changed under the Display Properties->Appearance tab (under Windows and borders), where-as themes are changed in the Display Properties->Themes tab from the drop down menu.
Visual Styles are, in essence, a configuration file that holds several different bitmaps. It's really just a *.dll file with a different extension. When Windows XP is set to use it's new, built-in skinning engine, it will draw the configuration settings and bitmaps from the visual style in place and skin windows, borders, start menu, task bar, etc.. based on these settings and images. The majority of files in a *.msstyle file are .png, .bmp, .ini, and .xml files (though, aside from the image files, you will not usually edit these individually).
- .xml and .ini files hold configuration settings that tell Windows HOW to skin the items it should skin
- .bmp and .png (32 bit bitmaps) are the images the visual style uses when skinning the items it skins
Visual Styles can be applied by doubleclicking on them, but will not show up in the visual styles list in your display properties unless installed properly. A visual style must be in a folder that has the SAME EXACT name as the visual style.
For example, a visual style named AdvanceD.msstyles will have to be in a folder named AdvanceD. It is case sensitive, so don't take shortcuts here.
Often visual styles contain shellstyles (complete one's do at least

), and those shellstyles should be in a folder underneath the visual style. Here is a general idea of the standard format (continuing with AdvanceD example)...
C:\Windows\Resources\Themes\AdvanceD.theme
C:\Windows\Resources\Themes\AdvanceD\AdvanceD.msstyles
C:\Windows\Resources\Themes\AdvanceD\Shell\normal\shellstyle.dll
C:\Windows\Resources\Themes\AdvanceD\Shell\blue\shellstyle.dll
I included two shellstyles in this example so you could get an idea of how the shellstyle is included in a visual style.
Themes are a little different... themes are purely a configuration file. In fact, you can open .theme files in Notepad.
Theme files save the following settings:
- icons
- cursors
- wallpaper
- sounds
- visual style
- fonts
- screensaver
You can actually create your own themes very easily without any additional tools! Just right click on your desktop and choose properties (or go to Start->Control Panel->Display Properties) and the first tab that comes up is themes. There is a drop down menu at the top that lets you choose a theme, but also there is a save button next to this menu.
You can easily configure your system how you like it (setting all the items in the above list) and then save a theme. Then after you have changed your fonts or icons or whatever, and want that specific setup back, just choose this theme from the drop down menu and voila! You have your own custom theme back.
Another important thing to note is that you can use themes all you want, but in order to use any visual styles aside from the "Luna" visual style that is included with Windows XP, you will need either Style Builder, or a patched uxtheme.dll file. Don't worry...we have a tutorial
here if you still need to hack your uxtheme.dll.
That's all for now! Now get out there and start making those themes AND visual styles.