我试图通过RAD Studio C ++中的应用程序检测UPS(伊顿)的存在。我尝试使用SYSTEM_POWER_CAPABILITIES(MSDN)但我总是得到“UPS未找到”的答案,即使UPS已连接并且工作正常。有没有其他方法可以检测UPS是否存在以及是否处于开启状态?
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;
}