Как 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, иначе произойдет сбой.
Как видите, некоторые аргументы / свойства неизвестны.
Для получения дополнительной информации, вот ссылка (на немецком языке)