Вопрос по windows – Как программно остановить зарядку батареи ноутбука?

9

Существует некоторая легкодоступная информация о том, как определить состояние батареи или узнать, заряжается она или нет. (GetSystemPowerStatus API или System.Windows.Forms.SystemInformation.PowerStatus).

Я хочу иметь возможность остановить зарядку батареи на основе некоторых критериев, например, заряд батареи & gt; 20%.

Есть ли API для этого?

Почему вы пытаетесь это сделать? DevinB
Подключите к удлинителю, а затем нажмите кнопку включения / выключения на полоске. знак равно Garrett
Большинство ноутбуков вообще не имеют возможности сделать это в своих прошивках. pjc50
Считаете ли вы, что ответ, включающий роботов из Lego Mindstorms, не входит в сферу применения? STW
@DevinB:This vaguely-related question of mine объясняет, почему не всегда держать ноутбук заряженным на 100%. unforgettableid

Ваш Ответ

9   ответов
0

Но, например, Vista не будет заряжать батарею, если она отсоединена и затем подключена, когда ее емкость превышает 96%, так что это означает, что к ней можно получить доступ и манипулировать каким-либо образом.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
@Renesis:Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Marcel
0

Ноутбуки Lenovo знают, что вы можете указать уровни зарядки от BIOS или от их программного обеспечения, но эта функция должна быть реализована в BIOS для доступа к Windows.

5

Я думаю, что это невозможно, потому что вам нужен API для аккумулятора или зарядного устройства.

И этот API может предоставить вам поддержку производителя ноутбука и аккумулятора или зарядного устройства.

Error: User Rate Limit Exceeded Marcel
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
1

Одним из вариантов является получение устройства (I) от батареи (совместимый с Microsoft ACPI метод управления батареей). Слушайте события PowerNotification навсегда. При каждом уведомлении проверяйте PowerStatus батареи. Есть API для всех вышеперечисленных целей в .Net и win32

Держите устройство (I) отключенным до тех пор, пока powerstatus будет> порогом. Включите его, как только оно опустится ниже этого уровня, или когда вы не будете получать питание от сети переменного тока (т. Е. Перед отключением от сети переменного тока программное обеспечение для постоянного мониторинга должно включить это аккумуляторное устройство - или вы включите его вручную).

хм, ... это очень ошибочное решение, но оно может достичь того, что вы хотите, хотя вы должны быть очень осторожны.

2

Честно говоря, я не знаю, но я бы посмотрел наAPM или жеACPI API-интерфейсы.

Кроме этого, единственный вариант, о котором я могу подумать сейчас, - это управляемый USB робот-манипулятор, который вынимает батарею, когда вам нужно прекратить зарядку, но это, вероятно, не то, что вы ищете, и граничит сперчатка сложника с точки зрения уровня чрезмерного проектирования. :)

2

Я думаю, что это возможно, потому что это было запатентовано IBM (№ патента 7570015).

Не уверен, что для этого доступен Windows API.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
1

Я просто взял бы ИБП и программно сказал бы ему отключить всю энергию ... у большинства должен быть интерфейс для этого. В противном случае, как кто-то уже сказал - управляемый компьютером удлинитель сделает это ^^

Я на самом деле играл с этой идеей, когда некоторое время назад я тестировал / писал о слишком большом количестве новых моделей ноутбуков, и тестирование батареи было раздражающим для настройки, мониторинга и анализа.

Я написал приложение, которое будет выполнять абсолютно все (настройку, прослушивание, измерение, создание отчетов), за исключением отключения питания, а затем повторного подключения и повторного запуска компьютера ...

1

Я думаю, что MiCTech прав. Я не думаю, что это возможно, но вот некоторые ресурсы, которые могут вам пригодиться.

-1

I came to conclusion:

просто сдайся и забудь это дело. Это не проблема, так что не беспокойтесь об этом. Пусть он будет подключен и будет полностью заряжен. когда он на 100%, то система автоматически прекращает зарядку и получает питание от сети, поэтому, возможно, не стоит беспокоиться о том, чтобы носить батарею, так как все ноутбуки (если это не из XX века) имеют автоматическое регулирование этого уровня. , Хотя, если вам когда-нибудь понадобится, двигайте руками и включайте / выключайте его вручную. Не ленись. Это первое и самое быстрое решение, поверь мне.

(однако, если вы хотите тратить время, вот методы -
1) http://www.makeuseof.com/answers/what-battery-manager-can-stop-charging-at-a-certain-percentage/
2) временно отключить устройства (Но вам нужно отключить & quot;Microsoft ACPI-Compliant Control Method Battery& Quot;)
3) https://superuser.com/questions/813182/how-to-stopdisable-battery-charging-on-laptop

Error: User Rate Limit Exceededwired.com/2013/09/laptop-battery

Похожие вопросы