windows — C ++ определяет наличие источника бесперебойного питания

Я пытаюсь обнаружить наличие UPS (Eaton) из моего приложения в RAD Studio C ++. Я пытался использовать SYSTEM_POWER_CAPABILITIES (MSDN), но я всегда получаю ответ, что «ИБП не найден», даже если ИБП подключен и работает нормально. Есть ли другой способ определить, присутствует ли ИБП и включен ли он?

int tmain()
{
SYSTEM_POWER_CAPABILITIES SysPowCap = {0};

if(!::GetPwrCapabilities(&SysPowCap))
{
ShowMessage(GetLastError());
return 0;
}
if(SysPowCap.UpsPresent)
ShowMessage("UPS found");
else
ShowMessage("UPS not found");

return 0;

}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …