在WPF中检测Aero或Classic主题

时间:2014-01-30 19:13:30

标签: c# wpf themes

我发现了如何加载资源字典以应用特定的Windows主题such as this question的问题,但是如果windows主题已经设置为aero,我不想加载aero的资源字典,是它可以在后面的代码中做一些事情,可以确定当前的Windows主题是什么?

1 个答案:

答案 0 :(得分:2)

您可以尝试DwmIsCompositionEnabled功能...它仅适用于当前活跃的用户。

[DllImport("dwmapi.dll")]
public static extern IntPtr DwmIsCompositionEnabled(out bool pfEnabled);

bool aeroEnabled = false;

if (NativeMethods.DwmIsCompositionEnabled(out aeroEnabled) == IntPtr.Zero)
{
    //Some code here
}