答案 0 :(得分:2)
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ DWM \ - 存储所有装饰颜色。因此,如果推出了具有HKEY_CURRENT_USER权限的应用,您可以阅读或更改" AccentColor "属性(以及目录中的其他属性)或您自己更改十六进制表示法的颜色代码。
要访问Windows注册表,您需要安装包: https://www.nuget.org/packages/Microsoft.Windows.Compatibility/
此处有关包裹的信息: https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack/
答案 1 :(得分:0)
从.NET Core 3.0开始,还可以借助Microsoft.Windows.SDK.Contracts软件包从非UWP应用中调用UWP API。
因此,我们可以使用UWP API通过以下方式从.NET Core控制台应用程序获取强调色:
var uiSettings = new UISettings();
var accentColor = uiSettings.GetColorValue(UIColorType.Accent);
返回的颜色为Windows.UI.Color
类型,但可以轻松转换为例如System.Drawing.Color
Color.FromArgb(accentColor.A, accentColor.R, accentColor.G, accentColor.B);