有没有办法找出现代 UI 的当前主题颜色集?WinAPI 函数或注册表值对我来说是最好的解决方案。
通过当前的主题颜色,我的意思是这个。
UxTheme.dll 中有一个名为 GetImmersiveUserColorSetPreference 的私有函数。如果将第一个参数设置为 true,它应该使用 GameScripting 提到的注册表中的值(并通知系统更改)。
我在这里写了关于检索沉浸式/现代/地铁颜色的文章。请记住,您将无法在 WinRT Windows 应用商店应用程序中使用这些未记录的功能,因为它们将无法通过认证。
在使用procmon.exe对我的系统进行反向工程后,我发现路径下的注册表项HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent\ColorSet_Version3
似乎是选定的颜色。
我可以使用注册表编辑器 (regedit.exe) 对其进行读写,所有更改都会立即应用。
编辑:经过一些进一步的研究,它似乎是只读的,更改了“不再”应用。路径上似乎有任何东西,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SystemProtectedUserData\S-1-5-21-3552576858-2522621019-3615910227-1001\AnyoneRead\Colors\ImmersiveColorIndex_Version3
但我无法更改值(即使具有管理员权限)