

Because the settings UIs are now gone, the Win32 API broadcasts to tell application windows to update the interface colors now also does nothing and the colors are now only updated when you log on, meaning you need to sign out and sign back in or restart your computer (if you changed the colors of the default user to affect the login screen, if you're using the classic kind) to have them take effect.

The settings do however still work, and you can still change them with something like Classic Color Panel and Advanced System Font Changer (or directly in the registry as RGB values stored at HKCU/Control Panel/Colors).
#Change theme windows 10 control panel windows 8
But apparently it doesn't, and the new "dark mode" doesn't change any of the legacy "theme" colors (previously changeable in the Color and Appearance dialogs in the control panel) which have been removed in Windows 8 or 8.1. It should still work the same way it always has, if you aren't using the default OS controls, you grab the appropriate color using GetSysColor and the fonts with SystemParametersInfoA and set it on your custom control. Looks like dark mode works by letting the application pick its own colors though (welcome to the web-like era of development), so if you're trying to stick to the "default" ones then that may backfire.Īpparently whatever API or magic is involved to let the command prompt and Explorer support it is undocumented. I found this, they mention the registry method but some answers also have less invasive solutions (possibly more futureproof), not sure how many of those work but may be worth looking into:Īlso, Microsoft is well aware that programmers will get their way and I imagine they won't want to risk breaking it once several applications have started to rely on a given quirk :P Also the idea of trying to guess the mode by the default colors could be worth checking in the worst case >_> (though I'd try to compare colors rather than looking for specific ones, which may make it work in more scenarios) Looking up and it does seem that Microsoft is intentionally trying to keep it an UWP-only feature… though they didn't do a great job in that sense.
