如何检索双电池状态?

时间:2014-03-06 07:57:21

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

 Dim power As PowerStatus = SystemInformation.PowerStatus
 Dim percent As Single = power.BatteryLifePercent

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

(我更喜欢一个vb答案,因为这是应用程序的编写但可以转换所以c#如果你不知道vb就没问题了)

据我所知,上面会给我剩余的电池百分比 - 但我有一个'热插拔'的平板电脑(它有一个主电池,然后是一个小的5分钟电池,当你更换电池时运行平板电脑) - 我如何找到第二块电池的状态?

我正在寻找像SystemInformation.PowerStatus(0)这样的东西,但我不知道我实际上想要找到什么,而且我必须有一个Google块,因为我找不到任何东西。

2 个答案:

答案 0 :(得分:7)

您可以使用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;
} 

答案 1 :(得分:1)

如果是多个电池,您可以使用WMI。具体来说,Win32_Battery类。但是,这比使用PowerStatus类要慢一些。