Чтобы получить доступ к текущему состоянию питания системы Windows (уровень заряда батареи, наличие переменного тока и т. Д.) Из моего приложения C ++, в настоящее время я использую следующую функцию WinAPI:
BOOL WINAPI GetSystemPowerStatus(_Out_ LPSYSTEM_POWER_STATUS lpSystemPowerStatus);
Это работает хорошо, но результаты, которые я получаю с этим вызовом, слишком «старые». Возможно, это связано с тем, что Windows или подключенный ИБП обновляют эти значения не так часто.
Кто-нибудь знает обходной путь для этого? Или у кого-то есть другое решение для опроса текущего состояния питания системы, которое может дать более свежие результаты?
Изменить: мне нужна эта информация, чтобы информировать / предупреждать пользователя о ситуации с питанием (полноэкранное приложение, без оболочки Windows) и переводить мое приложение / устройство в безопасное состояние, когда уровень заряда батареи ИБП становится критическим в случае питания от сети переменного тока. отказ.
Задача ещё не решена.
Других решений пока нет …