I would like to call SetSysColors from user32.dll to change some system colours in my app.
A 3rd party application, unless it's a "utility app" specifically designed to do similar functionality as the relevant control panel applet but in a nicer manner, shouldn't be touching a users system settings like this.
ie: It is not the purview of a "business application" to fiddle with a users system settings!!!
I've seen similar issues in the past where "business applications" started turning off things like "Show window contents while dragging", due to some perceived issue with having this feature enabled for their application.
Therefore, I would strongly recommend that you don't continue down this path of interfering with users desktop colour schemes etc from a "business application". Especially given that there is limited access to the advanced colour option settings on Windows8, versus what used to be available on Windows7 and prior OSes, to enable the user to "correct" their colours after running your application.
Cheers,
BeeJay.