gpt4 book ai didi

c++ - 从Qt,Win7下,如何知道显示的是哪种窗口样式?

转载 作者:行者123 更新时间:2023-11-30 05:43:32 24 4
gpt4 key购买 nike

我想解决方法 this bug .所以我需要知道Window7下的用户显示配置是使用“Aero”还是“Classic”风格。

有办法吗?

我试过 QApplication::style()->objectName() 但是这总是返回我 "windowsvista" 无论选择什么风格....

最佳答案

这可以通过 WinAPI 来完成。对于 Windows 7(可能还有 Vista、8 和 10):

// true == Aero theme, false == Classic theme
bool isAeroEnabled()
{
HMODULE library = LoadLibrary(L"dwmapi.dll");
bool result = false;
if (library) {
BOOL enabled = false;
HRESULT (WINAPI *pFn)(BOOL *enabled) = (HRESULT (WINAPI *)(BOOL *enabled))(GetProcAddress(library, "DwmIsCompositionEnabled"));
result = SUCCEEDED(pFn(&enabled)) && enabled;
FreeLibrary(library);
}
return result;
}

对于较旧的 Windows 版本,请关注 Get Windows theme?问题。

关于c++ - 从Qt,Win7下,如何知道显示的是哪种窗口样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30166516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com