Jal*_*lal 4 c# wpf winapi aero dwm
是否有任何api或我们确定的东西,玻璃效果已经激活?在我看到的一些代码中,如果DllNotFoundException抛出,那么它们确保它不活动或不存在.有更好或更标准的方式吗?
这是使用Aero Effect 扩展WPF中的玻璃区域的解决方案.
Dan*_*eny 10
在此MSDN页面上,它建议您可以使用DwmIsCompositionEnabled检测Glass :
更改桌面组合的状态时,将广播WM_DWMCOMPOSITIONCHANGED消息.没有参数告诉您它是启用还是禁用,因此如果您感兴趣,可以自行调用DwmIsCompositionEnabled.进行检查的代码很简单 - 如果禁用了合成,那么棘手的部分就是决定你希望窗口看起来如何.
[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern bool DwmIsCompositionEnabled();
// Check to see if composition is Enabled
if (Environment.OSVersion.Version.Major >= 6 && DwmIsCompositionEnabled())
{
// enable glass rendering
}
else
{
// fallback rendering
}
Run Code Online (Sandbox Code Playgroud)
但是我不确定你是否可以"启用Aero"但是"禁用玻璃",如果是这样,那么该方法的结果是什么.