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块,因为我找不到任何东西。
答案 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
类要慢一些。