Windows 如何检测支持并启用Aero glass效果?

Windows 如何检测支持并启用Aero glass效果?,windows,winapi,aero,dwm,Windows,Winapi,Aero,Dwm,我有一个WPF应用程序,我希望它可以启用模糊时,我设置的背景半透明。目前,我正在使用Win32 API DWMiscompionEnabled来检测是否启用了合成。此API适用于支持Aero glass效果的操作系统。但一位用户告诉我,他使用的是Windows7 Home Basic,它支持合成并启用,但不支持Aero glass效果。因此DwmIsCompositionEnabled返回true,但不支持Aero。另一个例子是Windows8,它支持合成,但没有空气玻璃效果。如何轻松检测是否启

我有一个WPF应用程序,我希望它可以启用模糊时,我设置的背景半透明。目前,我正在使用Win32 API DWMiscompionEnabled来检测是否启用了合成。此API适用于支持Aero glass效果的操作系统。但一位用户告诉我,他使用的是Windows7 Home Basic,它支持合成并启用,但不支持Aero glass效果。因此DwmIsCompositionEnabled返回true,但不支持Aero。另一个例子是Windows8,它支持合成,但没有空气玻璃效果。如何轻松检测是否启用了Aero glass效果?或者我只能手动检测用户正在使用哪个Windows版本


(DwmIsCompositionEnabled可以检测是否启用了合成,但不能告诉我们是否启用了Aero glass效果。)

非常确定您希望启用DWMGetwindoWatribute()、DWMWA\u n渲染attribute@Hans帕桑,谢谢!此API使用窗口句柄获取此窗口的信息。我能得到系统级的信息吗?我终于弄明白了!只需结合DWMICompositionEnabled和DwmGetColorizationColor!如果DwmIsCompositionEnabled返回true,而DwmGetColorizationColor返回不透明度为false,则启用Aero glass effect,否则禁用。这支持Vista、7、8的所有版本,可能还有未来的版本。请记住检查操作系统主版本是否为6或更高版本。请注意,不透明度仅指示是否启用了Aero Glass的透明度。它不区分不透明航空玻璃(Vista/Win7)和不透明彩色矩形(Win8/8.1/10)。