C# Windows桌面应用程序中是否有获取电池电量的API函数?
我正在创建一个桌面应用程序,我想在其中获取设备(笔记本电脑)的电池电量。我用C#来做这个。有什么方法可以帮我做到这一点吗?我已经在Windows Phone 8平台上使用C# Windows桌面应用程序中是否有获取电池电量的API函数?,c#,windows,visual-studio-2012,C#,Windows,Visual Studio 2012,我正在创建一个桌面应用程序,我想在其中获取设备(笔记本电脑)的电池电量。我用C#来做这个。有什么方法可以帮我做到这一点吗?我已经在Windows Phone 8平台上使用Windows.Phone.Devices.Power.Battery.GetDefault().RemainingChargePercent完成了此操作。桌面端也有类似的API吗 private static string GetBatteryLevel() { ObjectQuery query = new Obje
Windows.Phone.Devices.Power.Battery.GetDefault().RemainingChargePercent
完成了此操作。桌面端也有类似的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我试图使用Windows窗体应用程序创建相同的工具。但是,当我尝试使用
Systems.Data.Objects
命名空间时,我的Visual Studio显示错误。您在Visual Studio中选择了什么项目模板?@TheRookierLearner您可以使用任何您喜欢的项目模板,只要您引用System.Management
程序集。在解决方案资源管理器中右键单击您的项目,然后单击添加引用
,然后搜索系统管理
()。添加引用后,向类using System.Management添加一个using指令代码>@TheRookierLearner这是一个using指令。在using指令生效之前,您需要添加对System.Management
程序集的引用。我不知道该怎么说,谢谢^上述评论很有帮助。:)@TheRookierLearner没问题=)