C# 控制台获取 Windows 10 强调色

thr*_*ter 3 c# console-application windows-10 .net-core-2.0

.Net Core 2.X 中有没有办法在控制台应用程序中读取选定的 Windows 10 强调颜色。

我发现的大多数解决方案都是 UWP 或 WPF 应用程序。

也向您展示我指的是哪种颜色,这是它的图片:

Erk*_*rko 8

从 .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);
Run Code Online (Sandbox Code Playgroud)

返回的 color 类型为Windows.UI.Color,但可以轻松转换为例如System.Drawing.Color

Color.FromArgb(accentColor.A, accentColor.R, accentColor.G, accentColor.B);
Run Code Online (Sandbox Code Playgroud)