【问题标题】:How to retrieve dual batteries status?如何检索双电池状态?
【发布时间】:2014-03-06 07:57:20
【问题描述】:
 Dim power As PowerStatus = SystemInformation.PowerStatus
 Dim percent As Single = power.BatteryLifePercent

PowerStatus power = SystemInformation.PowerStatus;
float percent = power.BatteryLifePercent;

(我更喜欢 vb 答案,因为这是编写应用程序的内容,但可以转换,所以如果你不知道 vb,c# 很好)

我了解以上内容将为我提供剩余的电池百分比 - 但我有一个“可热插拔”的平板电脑(它有一个主电池和一个 5 分钟的小电池,当您更换电池时,它可以运行平板电脑) - 如何找到第二块电池的状态?

我正在寻找类似SystemInformation.PowerStatus(0) 的东西,但我不知道我到底想找到什么,而且我一定有一个 Google 块,因为我找不到任何东西。

【问题讨论】:

标签: c# .net vb.net battery batterylevel


【解决方案1】:

您可以使用 WMI 和 Win32 来获取电池电量。

试试这个:

ObjectQuery query = new ObjectQuery("Select * FROM Win32_Battery");

foreach (ManagementObject o in new ManagementObjectSearcher(query).Get())
{
    uint level = (uint)o.Properties["EstimatedChargeRemaining"].Value;
} 

【讨论】:

    【解决方案2】:

    如果有多个电池,您可以使用 WMI。具体来说,Win32_Battery 类。不过,这会比使用PowerStatus 类慢一些。

    【讨论】:

    • 速度不是问题 - 只会每 2 分钟左右轮询一次 - 只是我的应用程序是全屏的,所以覆盖了状态!
    猜你喜欢
    • 2016-02-14
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多