Monitora la carica della batteria con l'API Win32
-
04-07-2019 - |
Domanda
Sto provando a scrivere una piccola app che controlla quanta energia è rimasta in una batteria del notebook e vorrei sapere quale funzione Win32 potrei usare per farlo.
Soluzione
Per Vista e versioni successive puoi utilizzare RegisterPowerSettingNotification
Per le funzioni precedenti, vedere le Funzioni di gestione dell'alimentazione in questa sezione della pagina MSDN "Funzioni di risparmio energia: Windows Server 2003 e precedenti"
Puoi vedere il codice di esempio del metodo Vista su codeproject .
Altri suggerimenti
Consiglio l'utilizzo di Win32 GetSystemPowerStatus . Uno snippet di codice:
int getBatteryLevel()
{
SYSTEM_POWER_STATUS status;
GetSystemPowerStatus(&status);
return status.BatteryLifePercent;
}
C'è un articolo molto dettagliato nel seguente link, così come un progetto di esempio (testato lavorando su Win8.1): http://www.codeproject.com/Articles/15829/Vista-Goodies-in-C-Monitoring-the-Computer- s-Power