有誰知道如果有API以編程方式禁用/啓用特定的Windows視覺效果,如「啓用透明玻璃」或「啓用Aero Peek」?Windows Aero - 以編程方式禁用視覺效果
我指的影響是那些配置:系統/高級系統首選項/高級(標籤)/性能設置/自定義
我爲Windows創建一個輔助工具,我需要禁用一些視覺效果因爲它們對於視力受損的用戶是「不可見的」。另外,我需要爲屏幕放大和顏色調整節省一些CPU週期。
感謝
有誰知道如果有API以編程方式禁用/啓用特定的Windows視覺效果,如「啓用透明玻璃」或「啓用Aero Peek」?Windows Aero - 以編程方式禁用視覺效果
我指的影響是那些配置:系統/高級系統首選項/高級(標籤)/性能設置/自定義
我爲Windows創建一個輔助工具,我需要禁用一些視覺效果因爲它們對於視力受損的用戶是「不可見的」。另外,我需要爲屏幕放大和顏色調整節省一些CPU週期。
感謝
不,它可以在一個特定的應用程序正在使用DwmEnableComposition()
運行被禁用。
全局更改是Windows內部的,應該由用戶完成。
Aero主題使BitBlting透明PNG和其他圖像時,麻煩。在Aero主題中,當我使用AlphaBlend代替BitBlt,並使用CPngImage代替CBitmap時,透明度變得很麻煩,並且在BLENDFUNCTION :: SourceConstantAlpha中設置了一些透明度爲0-255的BLENDFUNCTION結構。我使用這種方法時,我想要透明背景或僅作爲半透明(不透明度0-255) 褪色而當Aero主題是在所有透明度掃除。因此,我使用DwmEnableComposition(DWM_EC_DISABLECOMPOSITION)禁用了航空主題透明度;
HRESULT hr = S_OK;
hr = DwmEnableComposition(DWM_EC_DISABLECOMPOSITION);
if (SUCCEEDED(hr)){
// Aero theme effect is off! No more swept away transparency
}
只是調用它到OnInitDialog()或一些較早的窗口實例函數。這是訣竅
AFIAK,DwmEnableComposition()完全禁用Aero,對吧?我需要桌面組成,或者放大率api不起作用.... – mpm 2012-03-22 14:40:35