有一些简单的信息可以find电池的状态,或者是否充电。 (GetSystemPowerStatus API或System.Windows.Forms.SystemInformation.PowerStatus)。
我希望能够根据一些标准停止电池充电,例如电池电量> 20%。
有没有一个API来做到这一点?
我认为这是不可能的,因为你需要一些API或电池充电器。
而这个API可以提供给你的笔记本和电池制造商或电池充电器支持。
我真的不知道,但我会看看APM或ACPI API。
除此之外,我现在能想到的唯一选择是一个USB控制的机器人手臂,在需要停止充电时弹出电池,但这可能不是您要查找的内容,并且在水平上接近复杂手套过度工程。 🙂
我认为这是可能的,因为它是IBM的专利 ( 专利号7570015 )。
不知道是否有一个Windows API可用于此。
其中一个选项是拿住电池的设备(I)(符合Microsoft ACPI的控制方法电池)。 永远收听PowerNotification事件。 在每个通知上检查电池的电源状态。 在.Net和win32中有上述所有的API
只要功率阈值大于阈值,就使设备(I)保持禁用状态。 一旦低于这个水平,或者当你没有使用交流电时(即在去掉交流电之前,你的连续监测软件应该启用该电池设备 – 或者你手动启用它)。
嗯,…这是一个非常错误的解决方案,但它可以达到你想要的,但你必须非常小心。
我只是得到一个UPS,并以编程方式告诉它切断所有权力…大多数应该有一个接口这样做。 否则,正如有人已经说过 – 一个电脑控制的电源板会这样做^^
实际上,当我正在测试/写关于太多新笔记本电脑的模式时,我实际上已经玩过这个想法,而电池测试对于设置,监控和分析来说是烦人的。
我写了一个应用程序,可以完成所有的事情(安装,听,测量,报告),除了拔掉电源,然后重新插电,再次启动计算机…
我认为MiCTech是对的。 我不认为这是可能的,但这里有一些你可能有用的资源。
但是例如,如果Vista被拔掉,然后在容量高于96%的时候插上,电池将不会充电,这意味着Vista可以以某种方式访问和操作。
联想笔记本电脑知道让你指定从BIOS或从他们的软件收费水平,但这个功能必须在BIOS中实现,以便从Windows访问。
只是放弃而忘记这件事。 这不是问题,所以不要担心。 让它插入并充满电。 当它在100%时,系统自动停止充电,并且继续插上电源,所以,也许不用担心电池的磨损,因为所有的笔记本电脑(如果它不是来自二十世纪的)都有自动调节的功能。 虽然,如果您将需要,移动你的手,并手动插入/关闭。 不要懒惰。 这是最快的解决方案,相信我。
(但是,如果你想浪费时间,这里有方法 –
1) http://www.makeuseof.com/answers/what-battery-manager-can-stop-charging-at-a-certain-percentage/
2) 暂时禁用设备 (但您需要禁用“ Microsoft ACPI兼容控制方法电池 ”)
3) https://superuser.com/questions/813182/how-to-stopdisable-battery-charging-on-laptop