1

vsstyle.h and vssym32.h are the sources of truth for some theme-related information on Windows. Specifically, they include IDs of states and parts of Win32 controls, which can be themed via.msstyles files.

These header files are packaged with Visual Studio and can be found at C:\Program Files (x86)\Windows Kits\10\Include\{BUILD}\um\{HEADER_FILE}.h.

Is there any way to see the differences in these header files across Windows builds or across Visual Studio versions?

The use case is for building an editor for .msstyles files. If the IDs of states and parts are known across Windows builds, then it'd be possible to attempt migrating a Windows 7 theme to Windows 10/11 programmatically.

L. Berger
  • 266
  • 2
  • 15
  • Doesn't Windows need .msstyles files to be signed for it to recognise them? – Jonathan Potter Oct 11 '22 at 11:28
  • @JonathanPotter Yes, but there are ways around that (eg. [SecureUxTheme](https://github.com/namazso/SecureUxTheme)) – L. Berger Oct 11 '22 at 11:38
  • 3
    You can install all SDKs aside and compare files using comparison tool. I have 7 Windows SDKs versions, installed for that same kind of purpose. – Simon Mourier Oct 11 '22 at 11:43
  • @SimonMourier Ah interesting, that sounds pretty viable. How are you installing so many SDK versions? [I'm seeing just 5 with the "Desktop development with C++" installer](https://i.imgur.com/y7xVsgg.png) – L. Berger Oct 11 '22 at 11:55
  • 1
    Older Visual Studios come with older SDKs but Microsoft also keeps archives https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/ – Simon Mourier Oct 11 '22 at 11:57

0 Answers0