在 Windows 10 中,高对比度主题是唯一在边框方面与默认 Windows 10 主题不同的主题。
为此,我想检测用户是否处于 Windows 10 中的高对比度主题中。
在 Windows 10 中,高对比度主题是唯一在边框方面与默认 Windows 10 主题不同的主题。
为此,我想检测用户是否处于 Windows 10 中的高对比度主题中。
确定系统当前是否处于高对比度模式的方法是使用SystemParametersInfo
获取包含HIGHCONTRAST
您需要的所有信息的结构。
一个简单的例子:
HIGHCONTRAST info = { 0 };
info.cbSize = sizeof(HIGHCONTRAST);
BOOL ok = SystemParametersInfoW(SPI_GETHIGHCONTRAST, 0, &info, 0);
if (ok)
{
if (info.dwFlags & HCF_HIGHCONTRASTON)
{
wcout << L"High Contrast On" << endl;
}
else
{
wcout << L"High Contrast Off" << endl;
}
}
HIGHCONTRAST
有关其他可用标志的信息,请参阅文档。
我们可以使用AccessibilitySettings类来获得高对比度的信息。并使用AccessibilitySettings.HighContrast来指示系统高对比度功能是打开还是关闭。
例如:
Windows::UI::ViewManagement::AccessibilitySettings^ accessibilitySettings = ref new Windows::UI::ViewManagement::AccessibilitySettings;
Boolean ishighcontrast = accessibilitySettings->HighContrast;