Monitor-Batterieladung mit Win32-API
-
04-07-2019 - |
Frage
Ich versuche, eine kleine app zu schreiben, die überwacht, wie viel Energie in einem Notebook-Akku an, und ich mag die Win32-Funktion weiß ich, dass zu erreichen verwenden könnte.
Lösung
Für Vista und können Sie verwenden, RegisterPowerSettingNotification
Für frühere Funktionen finden Sie in den Power Management-Funktionen in diesem Abschnitt der MSDN-Seite "Funktionen Power Management: Windows Server 2003 und frühere"
Sie können Beispielcode der Vista-Methode auf Codeproject .
Andere Tipps
Ich empfehle die Verwendung des Win32 GetSystemPowerStatus Funktion. Ein Code-Snippet:
int getBatteryLevel()
{
SYSTEM_POWER_STATUS status;
GetSystemPowerStatus(&status);
return status.BatteryLifePercent;
}
Es gibt einen sehr ausführlichen Artikel in dem folgenden Link, sowie ein Beispiel-Projekt (getestet arbeiten Win8.1): http://www.codeproject.com/Articles/15829/Vista-Goodies-in-C-Monitoring-the-Computer- s-Power