簡體   English   中英

DwmEnableComposition不啟用Aero

[英]DwmEnableComposition not enabling Aero

我正在嘗試為我的應用程序(使用瀏覽器運行“單個進程”的Firefox插件)啟用Aero,但是我沒有這樣做。 操作系統是Windows 7 64位。

這是代碼:

BOOL bEnabled = FALSE;
if(SUCCEEDED(DwmIsCompositionEnabled(&bEnabled)) && !bEnabled){         
    HRESULT hres = DwmEnableComposition(DWM_EC_ENABLECOMPOSITION);
}

DwmEnableComposition應該啟用合成,但沒有啟用,該函數還返回:

S_OK

任何幫助,將不勝感激,謝謝!

您無法啟用DWM合成; 您只能請求將其禁用。 當您需要將其關閉時,請致電

DwmEnableComposition(DWM_EC_ENABLECOMPOSITION);

從MSDN:

當所有禁用合成的進程都調用DwmEnableComposition來啟用它或已終止時,將自動啟用DWM合成。

您沒有啟用它,只是宣布不再需要禁用它。 (Microsoft不允許您啟用合成的原因是, 您不被信任嘗試這樣做。

落后時也應該放棄。 再次從MSDN:

注意從Windows 8 Consumer Preview開始不推薦使用此功能。 不能以編程方式禁用DWM。

DwmEnableComposition()在系統范圍內禁用時無效。 唯一的目的是通知Windows您正在開始或完成與DWM不兼容的操作。

此外,由用戶決定其操作系統是什么樣子,而不是由程序來配置它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM