Win32_电池.估计运行时间

Win32_电池.估计运行时间

根据微软Win32_Battery WMI 类的 EstimatedRunTime 字段是

如果公用电源关闭或丢失并保持关闭状态,或者笔记本电脑与电源断开连接,则估算在当前负载条件下电池电量耗尽的时间(以分钟为单位)。

但是,在我的 Windows RT 平板电脑上,该字段的值为 71582788。

我猜我的电池可以使用 71582788 分钟。那么问题出在哪里?

答案1

我的戴尔笔记本电脑也有同样的值。我只能猜测,当电池不支持报告正确时间时,这是默认值。

答案2

您看到的可能是 Microsoft 的一个错误,涉及 32 位整数值的溢出。请注意,71582788 = int[(2^32) / 60];EstimatedRunTime试图将一个以秒为单位的值存储到无符号的 32 位 int 中,该值“滚动”超过 4,294,967,295。这可以解释为在这种情况下“不确定”,因为充电电池(连接到交流电)的放电率理论上为零。由于 Microsoft 不能很好地处理这种情况,您必须自己处理:

if ($BatteryRunTime -eq [Math]::Round([Math]::Pow(2,32) / 60))
{
    $BatteryRunTimeText = ""
}
else
{
    $BatteryRunTimeText = "(" + $BatteryRunTime + " minutes runtime)"
}

答案3

值 71582788 相当于 0x04444444,表示电池正在充电。断开笔记本电脑的电源将为您提供估计的运行时间。

相关内容