Это то, что сработало лучше для меня.С моей очень интенсивной графикой программы Windows Vista и 7 в конце концов вернули систему в Windows Basic Colours.Но если я свернул или развернул окно MDI до того, как это произошло, все полностью зависло.Мне пришлось удерживать кнопку питания в течение 5 секунд, чтобы выключить ее, а затем перезагрузить.Вот что я обнаружил, чтобы перейти к Windows Basic Colours в начале выполнения программы:
using System.Runtime.InteropServices;
//1-9-2013: so we can DISABLE COMPOSITING -- forcing Windows "Aero Glass" to revert to "Aero Basic"
[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern void DwmEnableComposition(bool bEnable);
DwmEnableComposition(false); //DISABLE COMPOSITING -- forces Windows "Aero Glass" to revert to "Aero Basic"
Изменение в Aero Basic относится к самой Windows, затрагивая все работающие программы.Система возвращается к «Aero Glass» при выходе из этого приложения.Могут быть и другие побочные эффекты, но пока все работает хорошо для меня.
PS Похоже, это устарело в Windows 8 и ничего не делает, кроме как возвращает True.Мое приложение представляет собой программу мониторинга в режиме реального времени, на которой больше ничего нет, поэтому мне удобно использовать Windows Basic Colors.Так что это обходной путь, пока я не смогу найти, что в моем приложении жует так много машинных циклов с Aero Glass.