When I embed the Visual Styles manifest in my program like this:
// Embed visual style XML manifest
#pragma comment(linker, \
"\"/manifestdependency:type='Win32'" \
" name='Microsoft.Windows.Common-Controls'" \
" version='6.0.0.0'" \
" processorArchitecture='*'" \
" publicKeyToken='6595b64144ccf1df'" \
" language='*'\"" \
)
// Link common controls library
#pragma comment(lib, "ComCtl32.lib")
Does that mean my program will only run on Windows XP? Or if visual styles are not on the computer will they just use the operating systems default style? I ask because I enabled visual styles in my program that I am developing with Visual Studio 2008 and I want to know what is the earliest version of Windows it can be run on. Should I check WINVER to see if they are running a version that supports visual styles? If so, what version number should I check for in the preprocessor. Another thing I would like to know is, without visual styles, what is the lowest version I can run my program on?
The latter is true and the documentation defines the exact behaviour (emphasis is mine):
Another section in the same page describes some things you should watch out for in terms of backwards compatibility: Making Your Application Compatible with Earlier Versions of Windows. On visual styles, it states: