So my method is as follows:
PowerStatus powerStatus = SystemInformation.PowerStatus;
if (powerStatus.BatteryChargeStatus != BatteryChargeStatus.NoSystemBattery)
{
var batteryStatus = powerStatus.BatteryChargeStatus.ToString()
}
From my test systems I get a wide variety of results such as:
High,
Low,
Charging,
High Charging
Low, Charging
Low, Critical
and heres the strange one... 0?
I'd imagine that it has something to do with BatteryChargeStatus Enum