Я хочу быть хорошим гражданином-разработчиком, pay my taxes, и отключить вещи, если мы работаем на удаленном рабочем столе или работаем от батареи.C# .NET: Как проверить, работает ли аккумулятор?
Если мы работаем на удаленном рабочем столе (или, что то же самое, на сеансе сервера терминалов), мы должны отключить анимацию и двойную буферизацию. Вы можете это проверить:
/// <summary>
/// Indicates if we're running in a remote desktop session.
/// If we are, then you MUST disable animations and double buffering i.e. Pay your taxes!
///
/// </summary>
/// <returns></returns>
public static Boolean IsRemoteSession
{
//This is just a friendly wrapper around the built-in way
get
{
return System.Windows.Forms.SystemInformation.TerminalServerSession;
}
}
Теперь мне нужно выяснить, работает ли пользователь от аккумулятора. Если они есть, я не хочу взорвать их аккумулятор. я хочу, чтобы делать вещи, такие как
- Деактивация анимации
- отключить фон проверки орфографии
- отключить фон печать
- поворот от градиентов
- использование
graphics.SmoothingMode = SmoothingMode.HighSpeed;
- использование
graphics.InterpolationMode = InterpolationMode.Low;
- использование
graphics.CompositingQuality = CompositingQuality.HighSpeed;
- mi nimize доступ жесткого диска - избегать спин вверх
- минимизировать доступ к сети - чтобы сохранить WiFi силу
Есть управляемый способ, чтобы увидеть, если машина в настоящее время работает от батареи?
Ссылки
How do you convince developers to pay their "taxes"?
Taxes: Remote Desktop Connection and painting
GetSystemMetrics(SM_REMOTESESSION)
Что было бы эквивалентно этому для настольных компьютеров, когда они работают на DC (например, UPS/IPS)? – lbrahim 2015-11-08 10:56:24