【问题标题】:How do I retrieve the theme colour of Windows?如何检索 Windows 的主题颜色?
【发布时间】:2011-07-12 20:36:24
【问题描述】:

我想有一种方法可以使用 WPF 或 C# 代码隐藏来获取用户 Windows 主题的主题颜色。这种颜色是指可以在 Windows 7(我认为也是 Vista)下的 Personalization\Window Color and Appearance 中设置的颜色。我想使用这种颜色来制作渐变,就像 Trillian 5 一样。

我试图自己找到它,但不幸的是我没有找到任何地方。显然它不在SystemColors.Whatever 之下。我在MSDN 上找到了一些东西,但我不知道如何使用它,也不认为这是我想要的。

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

    标签: c# wpf c#-4.0


    【解决方案1】:

    我认为DwmGetColorizationColor (http://msdn.microsoft.com/en-us/library/aa969513.aspx) 就是您要找的;你需要 P/Invoke。

    【讨论】:

    • 这将只提供配色方案,还是提供玻璃效果?
    • 它将提供在个性化对话框中选择的玻璃颜色。您可能需要根据以下内容重新排列顺序:stackoverflow.com/questions/3560890/…
    • 哇。我很久以前就赞成并喜欢这个问题,但完全忘记了它......
    • 谢谢!这就是我要找的。虽然最好有一个更好的实现,但这很好用。 ColorizationColor 返回一个十六进制的 uint,将其转换为 AARRGGBB 值给了我我需要的值。
    【解决方案2】:

    您在 Windows 上看到的主题基于 Glass。您必须在应用程序中使用玻璃才能获得相同的效果。

    【讨论】:

    • 嗯,我希望你有一些参考
    猜你喜欢
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    相关资源
    最近更新 更多