type
PSystemPowerStatus = ^TSystemPowerStatus;
_SYSTEM_POWER_STATUS = packed record
ACLineStatus : Byte;
BatteryFlag : Byte;
BatteryLifePercent : Byte;
Reserved1 : Byte;
BatteryLifeTime : DWORD;
BatteryFullLifeTime : DWORD;
end;
TSystemPowerStatus = _SYSTEM_POWER_STATUS;
SYSTEM_POWER_STATUS = _SYSTEM_POWER_STATUS;
function GetSystemPowerStatus(var lpSystemPowerStatus: TSystemPowerStatus): BOOL; stdcall; external kernel32 name 'GetSystemPowerStatus';
Расшифровка полей:
Поле | Значение | Расшифровка |
ACLineStatus | - | Есть ли ток в розетке |
_ | 0 | Тока нет |
_ | 1 | Ток есть |
_ | 255 | "А фиг его знает" |
BatteryFlag | - | Состояние батареи. Битовое поле (т.е. битовое-И одного или нескольких значений) |
_ | 0 | Заряжена менее чем на 66%, но более чем на 33% |
_ | 1 | Заряжена более чем на 66% |
_ | 2 | Заряжена менее чем на 33% |
_ | 4 | Заряжена менее чем на 5% |
_ | 8 | Заряжается |
_ | 128 | Нет системной батареи |
_ | 255 | "А фиг его знает" |
BatteryLifePercent | - | Процент заряда батареи |
_ | 0-100 | Заряд батареи |
_ | 255 | "А фиг его знает" |
Reserved1 | - | Не используется - всегда ноль |
BatteryLifeTime | - | Оставшееся время работы от батареи, секунд |
BatteryFullLifeTime | - | Сколько (в теории) можно проработать от батареи, секунд |