прекратите зарядку, когда батарея полностью заряжена

1

Я хочу прекратить заряжать ноутбук, когда он будет заполнен. Я попытался использовать функции 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
    }
}

Заранее спасибо.

Теги:
msdn

3 ответа

1

Это невозможно с помощью чистого программного обеспечения. Вам нужна аппаратная поддержка, так как ваша ОС не имеет возможности изменить поведение чипа управления батареей, если не доступен специальный интерфейс.

1

Для отключения зарядки нет стандартного API.

Некоторые производители добавили свои собственные схемы со специальными драйверами, чтобы позволить программному управлению зарядным устройством. Например, некоторые ноутбуки Compal включили утилиту "Зеленое зарядное устройство", которая перестает заряжаться на уровне 80% при компромиссе между временем выполнения на каждый заряд и временем разгона во время работы батареи.

Но эти механизмы полностью запатентованы и специфичны для производителей.

0

Ваш ноутбук не контролирует программную загрузку. Как сказал elgonzo, если он будет продолжать зарядку, он перегреется и либо растопит ваш компьютер, либо взорвется.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню