电池充满时停止充电

时间:2014-05-22 15:30:17

标签: c# msdn

我想在笔记本电脑充满时停止充电。我尝试过使用PowerManagement功能。使用它们我可以读取电池状态但不能停止充电。

有可能吗?

如何实现?

我的代码是:

Type t = typeof(System.Windows.Forms.PowerStatus);
PropertyInfo[] pi = t.GetProperties();
PropertyInfo prop = null;
object propValue = null;
for (int i = 0; i < pi.Length; i++)
{
    prop = pi[i];
    propValue = prop.GetValue(SystemInformation.PowerStatus, null);
    int batteryLifePercent = (int)(SystemInformation.PowerStatus.BatteryLifePercent * 100);
    if (batteryLifePercent == 100) 
    {
        // stop charging
    }
}

先谢谢。

3 个答案:

答案 0 :(得分:1)

没有用于禁用充电的标准API。

一些制造商已经添加了自己的电路,带有特殊驱动程序,以便对充电器进行软件控制。例如,一些仁宝笔记本电脑包含了一个“绿色充电器”实用程序,它可以在80%的时间内停止充电,在每次充电的运行时间与电池寿命期间的运行时间衰减之间进行权衡。

但这些机制完全是专有的和制造商特定的。

答案 1 :(得分:1)

这不可能通过纯软件实现。您需要硬件支持,因为除非有特殊的接口,否则您的操作系统无法改变电池控制芯片的行为。

答案 2 :(得分:0)

您的笔记本电脑无法以编程方式控制充电。就像elgonzo说的那样,如果它继续充电,它会过热并使计算机熔化或爆炸。