首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DwmEnableComposition未启用Aero

DwmEnableComposition未启用Aero
EN

Stack Overflow用户
提问于 2012-04-12 02:38:39
回答 2查看 2.3K关注 0票数 2

我试图为我的应用程序启用Aero (一个在浏览器上运行“单进程”的Firefox插件),但是我做不到。操作系统为Windows 7 64位。

代码如下:

代码语言:javascript
复制
BOOL bEnabled = FALSE;
if(SUCCEEDED(DwmIsCompositionEnabled(&bEnabled)) && !bEnabled){         
    HRESULT hres = DwmEnableComposition(DWM_EC_ENABLECOMPOSITION);
}

DwmEnableComposition应该启用组合,但它没有,该函数也返回:

代码语言:javascript
复制
S_OK

如有任何帮助,将不胜感激,谢谢!

EN

回答 2

Stack Overflow用户

发布于 2012-05-04 10:48:38

不能启用DWM合成;只能请求禁用它。当您需要关闭它时,您可以调用

代码语言:javascript
复制
DwmEnableComposition(DWM_EC_ENABLECOMPOSITION);

来自MSDN:

当所有禁用了合成的进程都调用了DwmEnableComposition来启用它或已被终止时,将自动启用

DWM合成。

您不能启用它,您只需宣布您不再需要禁用它。(微软不允许您启用组合的原因是you can't be trusted to try to do it.)

当你落后的时候,你也应该放弃。同样来自MSDN:

备注从Windows8消费者预览版开始,此函数已弃用。不能再以编程方式禁用DWM。

票数 3
EN

Stack Overflow用户

发布于 2012-04-12 16:55:49

在系统范围内禁用DwmEnableComposition()时,它不起作用。它的唯一目的是通知Windows您正在开始或完成与DWM不兼容的操作。

此外,操作系统的外观由用户决定,而不是由程序来配置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10111948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档