[英]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.