2

我正在创建一个桌面应用程序,我想在其中获取设备(笔记本电脑)的电池电量。我为此使用 C#。有什么方法可以帮助我做到这一点吗?我已经在 Windows Phone 8 平台上使用Windows.Phone.Devices.Power.Battery.GetDefault().RemainingChargePercent. 桌面端也有类似的 API 吗?

4

1 回答 1

3
private static string GetBatteryLevel()
{
    ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Battery");
    using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
    {
        using (ManagementObjectCollection results = searcher.Get())
        {
            using (var enumerator = results.GetEnumerator())
            {
                if (!enumerator.MoveNext())
                    return string.Empty;

                return string.Format("{1} {0}%", enumerator.Current["EstimatedChargeRemaining"],
                                     enumerator.Current["BatteryStatus"].ToString() == "1"
                                         ? string.Empty
                                         : "Charging:");
            }
        }
    }
}

您可以使用Windows Management Instrumentation

于 2013-04-09T12:23:15.410 回答