在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
的文档。
我们可以使用可访问性设置类来获得高对比度。并使用可访问性设置。highContrast表示系统高对比度功能是打开还是关闭。
例如:
Windows::UI::ViewManagement::AccessibilitySettings^ accessibilitySettings = ref new Windows::UI::ViewManagement::AccessibilitySettings;
Boolean ishighcontrast = accessibilitySettings->HighContrast;