Методы получения информации о батарее в Windows с примерами кода

Команда «powercfg Battery report» используется для создания подробного отчета об использовании батареи и состоянии ноутбука или планшета с ОС Windows. Он предоставляет такую ​​​​информацию, как емкость аккумулятора, историю использования и состояния питания. Вот пример запуска этой команды с помощью PowerShell:

powercfg /batteryreport /output "C:\path\to\save\battery_report.html"

Эта команда создаст отчет о заряде батареи в формате HTML и сохранит его по указанному пути к файлу.

Вот еще несколько способов программного получения информации об аккумуляторе в Windows:

  1. WMI (инструментарий управления Windows):

    $battery = Get-WmiObject -Class Win32_Battery
    $battery.BatteryStatus
    $battery.EstimatedChargeRemaining
    $battery.EstimatedRunTime
  2. .NET Framework с использованием C#:

    using System;
    using System.Management;
    class Program
    {
       static void Main()
       {
           var batteryClass = new ManagementClass("Win32_Battery");
           var battery = batteryClass.GetInstances();
           foreach (var b in battery)
           {
               Console.WriteLine("Battery Status: " + b["BatteryStatus"]);
               Console.WriteLine("Estimated Charge Remaining: " + b["EstimatedChargeRemaining"]);
               Console.WriteLine("Estimated Run Time: " + b["EstimatedRunTime"]);
           }
       }
    }
  3. Пространство имен Windows.Devices.Power (приложения UWP):

    using Windows.Devices.Power;
    var batteryReport = Battery.AggregateBattery.GetReport();
    var batteryStatus = batteryReport.Status;
    var batteryLevel = batteryReport.RemainingCapacityInMilliwattHours;
    var batteryFullCapacity = batteryReport.FullChargeCapacityInMilliwattHours;