在Windows桌面应用程序中是否有任何API函数来获取电池电量?

我正在创build一个桌面应用程序,我想要获得我的设备(笔记本电脑)的电池电量。 我正在使用C#。 有什么方法可以帮助我做到这一点? 我已经在Windows Phone 8平台上使用Windows.Phone.Devices.Power.Battery.GetDefault().RemainingChargePercent完成了这个工作Windows.Phone.Devices.Power.Battery.GetDefault().RemainingChargePercent 。 桌面端有没有类似的API?

Solutions Collecting From Web of "在Windows桌面应用程序中是否有任何API函数来获取电池电量?"

 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