public static Color GetColor() { DwmColorParams p = new DwmColorParams(); DwmpGetColorizationParameters(out p); return(Color.FromArgb((int)p.color)); }
public static void ChangeColor(Color goalColor, int duration) { DwmColorParams p = new DwmColorParams(); DwmpGetColorizationParameters(out p); Color startColor = Color.FromArgb((int)p.color); if (goalColor == startColor) { return; } CChanger ct = new CChanger(startColor, goalColor, duration); while (ct.Transform()) { Color intColor = ct.GetColor(); p.color = (uint)intColor.ToArgb(); p.param2 = p.color; DwmpSetColorizationParameters(ref p, true); Application.DoEvents(); Thread.Sleep(33); } }
static extern int DwmpGetColorizationParameters(out DwmColorParams dcpParams);
static extern int DwmpSetColorizationParameters(ref DwmColorParams dcpParams, bool alwaysTrue);