Chcę być dobrym obywatelem programisty, pay my taxes, i wyłączać rzeczy, jeśli korzystamy z Pulpitu zdalnego lub z baterii.C# .NET: Jak sprawdzić, czy używamy baterii?
Jeśli pracujemy na pulpicie zdalnym (lub równoważnie w sesji serwera terminali), musimy wyłączyć animacje i podwójne buforowanie. Możesz to sprawdzić pod adresem:
/// <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;
}
}
Teraz muszę sprawdzić, czy użytkownik jest zasilany z baterii. Jeśli tak, nie chcę przedmuchać ich baterii. Chcę robić rzeczy takie jak
- niepełnosprawnymi animacji
- wyłączyć tło sprawdzania pisowni
- wyłączyć drukowanie w tle
- Wyłącz gradienty
- użytku
graphics.SmoothingMode = SmoothingMode.HighSpeed;
- użycie
graphics.InterpolationMode = InterpolationMode.Low;
- użycie
graphics.CompositingQuality = CompositingQuality.HighSpeed;
- mi nimalizuj twardego dysku dostępu - aby uniknąć rozpędzają
- zminimalizować dostęp do sieci - w celu oszczędzania energii WiFi
Czy istnieje sposób udało by sprawdzić, czy maszyna jest obecnie działa na baterii?
Referencje
How do you convince developers to pay their "taxes"?
Taxes: Remote Desktop Connection and painting
GetSystemMetrics(SM_REMOTESESSION)
Jaki byłby odpowiednik tego w przypadku komputerów stacjonarnych, gdy są one zasilane prądem stałym (np. UPS/IPS)? – lbrahim