バッテリの残量は、GetSystemPowerStatus 関数で取得できます。
SYSTEM_POWER_STATUS sps;
GetSystemPowerStatus(&sps);
switch (sps.ACLineStatus) {
case 0:
cout << "電源供給方法 = Offline" << endl;
break;
case 1:
cout << "電源供給方法 = Online" << endl;
break;
case 255:
cout << "電源供給方法 = Unknown status" << endl;
break;
}
switch (sps.BatteryFlag) {
case 1:
cout << "バッテリ状態 = High" << endl;
break;
case 2:
cout << "バッテリ状態 = Low" << endl;
break;
case 4:
cout << "バッテリ状態 = Critical" << endl;
break;
case 8:
cout << "バッテリ状態 = Charging" << endl;
break;
case 128:
cout << "バッテリ状態 = No system battery" << endl;
break;
case 255:
cout << "バッテリ状態 = Unknown status" << endl;
break;
}
cout << "バッテリ残量 = " << (int)sps.BatteryLifePercent << endl;
cout << "バッテリ残り秒数 = " << sps.BatteryLifeTime << endl;