3

有没有办法找出现代 UI 的当前主题颜色集?WinAPI 函数或注册表值对我来说是最好的解决方案。

通过当前的主题颜色,我的意思是这个

4

2 回答 2

3

UxTheme.dll 中有一个名为 GetImmersiveUserColorSetPreference 的私有函数。如果将第一个参数设置为 true,它应该使用 GameScripting 提到的注册表中的值(并通知系统更改)。

我在这里写了关于检索沉浸式/现代/地铁颜色的文章。请记住,您将无法在 WinRT Windows 应用商店应用程序中使用这些未记录的功能,因为它们将无法通过认证。

于 2013-02-02T05:16:23.683 回答
2

在使用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但我无法更改值(即使具有管理员权限)

于 2012-12-02T21:40:07.503 回答