Как Windows меняет цвет Aero Glass?

Я использую Windows 7 RTM, и мне интересно, как панель управления может так плавно обновлять цвет Aero Glass без перезапуска DWM (uxsms). DwmSetColorizationColor больше не работает...

1 ответ

Решение

Следующие методы должны быть интересны для вас:

[DllImport("dwmapi.dll", EntryPoint = "#127", PreserveSig = false)]
public static extern void DwmGetColorizationParameters(out WDM_COLORIZATION_PARAMS parameters);

[DllImport("dwmapi.dll", EntryPoint = "#131", PreserveSig = false)]
public static extern void DwmSetColorizationParameters(WDM_COLORIZATION_PARAMS parameters, uint uUnknown);

public struct WDM_COLORIZATION_PARAMS {
    public uint Color1;
    public uint Color2;
    public uint Intensity;
    public uint Unknown1;
    public uint Unknown2;
    public uint Unknown3;
    public uint Opaque;
}

Убедитесь, что вы вызываете DwmIsCompositionEnabled, прежде чем вызывать метод DwmSetColorizationParameters, иначе произойдет сбой.

Как видите, некоторые аргументы / свойства неизвестны.
Для получения дополнительной информации, вот ссылка (на немецком языке)

Другие вопросы по тегам