【发布时间】:2014-09-30 15:06:06
【问题描述】:
所以我的方法如下:
PowerStatus powerStatus = SystemInformation.PowerStatus;
if (powerStatus.BatteryChargeStatus != BatteryChargeStatus.NoSystemBattery)
{
var batteryStatus = powerStatus.BatteryChargeStatus.ToString()
}
从我的测试系统中,我得到了各种各样的结果,例如:
高,
低,
充电,
高充电
电量低,正在充电
低,严重
这是奇怪的... 0?
我想这与BatteryChargeStatus Enum有关
【问题讨论】:
-
你的电池没电了:)
-
那么为什么不检查返回的实际值,而不使用 ToString()?
-
...那里有一些出色的标志值。未知包括所有其他状态标志!
-
@Rawling 我不明白你在说什么?
-
@Rawling 所说的是标志样式的枚举应该只具有 2 的幂的值。所以 10 = 2 + 8 = 低 + 充电。但是值 255 对于标志样式的枚举来说太疯狂了——微软的某个人在为“未知”指定该值时犯了一个错误。
标签: c# battery power-state batterymanager