如何确定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的文档。

我们可以使用可访问性设置类来获得高对比度。并使用可访问性设置。highContrast表示系统高对比度功能是打开还是关闭。

例如:

Windows::UI::ViewManagement::AccessibilitySettings^ accessibilitySettings = ref new Windows::UI::ViewManagement::AccessibilitySettings;
Boolean ishighcontrast = accessibilitySettings->HighContrast;

相关内容

  • 没有找到相关文章

最新更新