在Windows 10中,高对比度主题是唯一与边框相关的行为与默认Windows 10主题不同的主题。
我想检测用户是否在Windows 10中处于高对比度主题中。
答案 0 :(得分:2)
确定系统当前是否处于高对比度模式的方法是使用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
的文档。
答案 1 :(得分:1)
我们可以使用AccessibilitySettings类来获得高对比度的信息。并使用AccessibilitySettings.HighContrast指示系统高对比度功能是打开还是关闭。
例如:
if(!flag){
// call your functions
}