10

有一些关于查找电池状态或是否正在充电的天气信息很容易获得。(GetSystemPowerStatus API 或 System.Windows.Forms.SystemInformation.PowerStatus)。

我希望能够根据某些标准阻止电池充电,例如电池电量 > 20%。

有没有 API 可以做到这一点?

4

10 回答 10

5

我认为这是不可能的,因为您需要一些用于电池或电池充电器的 API。

而这个 API 可以为您的笔记本电脑制造商和电池或电池充电器提供支持。

于 2009-07-07T11:27:39.203 回答
2

老实说,我不知道,但我会看看APMACPI API。

除此之外,我现在唯一能想到的选择是一个 USB 控制的机械臂,当你需要停止充电时它会弹出电池,但这可能不是你想要的,并且在水平方面与复杂器的手套接壤过度工程。:)

于 2009-07-07T12:06:05.757 回答
2

我认为这是可能的,因为它已获得 IBM 的专利(专利号 7570015)。

不确定是否有可用的 Windows API。

于 2010-01-17T09:12:37.903 回答
1

我认为 MiCTech 是对的。我不认为这是可能的,但这里有一些你可能有用的资源。

于 2009-07-07T11:37:25.253 回答
1

一种选择是获取设备(I)的电池(Microsoft ACPI-Compliant Control Method Battery)。永远监听 PowerNotification 事件。在每个通知中检查电池的 PowerStatus。.Net 和 win32 中有用于上述所有目的的 API

只要电源状态大于阈值,就保持禁用设备 (I)。只要低于该值或当您没有使用交流电源时启用它(即在移除交流电源之前,您的持续监控软件应该启用该电池设备 - 或者您手动启用它)。

嗯,...这是一个非常错误的解决方案,但它可以实现您想要的,尽管您必须非常小心。

于 2009-11-16T08:52:31.940 回答
1

我会得到一个 UPS 并以编程方式告诉它切断所有电源......大多数人应该有一个接口来执行此操作。否则,正如有人已经说过的那样 - 计算机控制的电源板可以做到这一点^^

不久前,当我测试/编写太多新的笔记本电脑型号时,我实际上已经尝试过这个想法,而电池测试的设置、监控和分析很烦人。

我写了一个应用程序,除了拔掉电源然后重新插入并再次启动计算机之外,它可以做所有事情(设置、监听、测量、报告)......

于 2009-11-21T21:31:40.447 回答
0

但是例如,如果在容量超过 96% 的情况下拔下插头再插上电源,Vista 将不会给电池充电,因此这意味着可以通过某种方式访问​​和操作 in。

于 2009-08-25T19:46:44.763 回答
0

联想笔记本电脑可以让您从 BIOS 或其软件中指定充电级别,但此功能必须在 BIOS 中实现才能从 Windows 访问。

于 2013-01-10T06:37:09.550 回答
0

实际上我使用这样的充电限制器。有控制软件 - 一个监控电池电量(psutil 模块)并控制外部硬件的 Python 脚本 - 即可以由软件控制的开关。我有 Energenie 和 TP-Link homeplugs 以及我自己的硬件装置。

因为它是供家庭使用的,所以它根本没有经过打磨,但只需很少的努力就可以适应任何操作系统或硬件。

让知道是否有兴趣。软件住在这里:CCC

于 2020-06-14T17:21:23.887 回答
-1

我得出结论:

放弃吧,忘记这件事。这不是问题,所以不要担心。让它插上电源并充满电。100%开机时,系统会自动停止充电,并插上电源,所以,也许不用担心磨损电池,因为所有笔记本电脑(如果不是二十世纪的)都有它的自动调节功能。虽然,如果您需要,请移动您的手并手动打开/关闭它。不要偷懒。相信我,这是#1 也是最快的解决方案。

(但是,如果您想浪费时间,这里有一些方法 -
1)http://www.makeuseof.com/answers/what-battery-manager-can-stop-charging-at-a-certain-percentage/
2)暂时禁用设备(但您需要禁用“ Microsoft ACPI-Compliant Control Method Battery ”)
3)https://superuser.com/questions/813182/how-to-stopdisable-battery-charging-on-laptop

于 2014-09-17T21:10:10.073 回答