在Windows 10中,高对比度主题是唯一在边框方面与默认Windows 10主题不同的主题。
我想要检测用户是否在Windows10的高对比度主题下进行此操作。
发布于 2016-06-22 04:50:02
确定系统当前是否处于高对比度模式的方法是使用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
的文档。
发布于 2016-06-22 17:57:24
我们可以使用AccessibilitySettings类来获得高对比度的信息。并使用AccessibilitySettings.HighContrast指示系统高对比度功能是打开还是关闭。
例如:
Windows::UI::ViewManagement::AccessibilitySettings^ accessibilitySettings = ref new Windows::UI::ViewManagement::AccessibilitySettings;
Boolean ishighcontrast = accessibilitySettings->HighContrast;
https://stackoverflow.com/questions/37954155
复制相似问题