在 Windows 中以编程方式确定电源使用情况?

Posted

技术标签:

【中文标题】在 Windows 中以编程方式确定电源使用情况?【英文标题】:Determine power usage programmatically in Windows? 【发布时间】:2012-03-14 22:45:47 【问题描述】:

Windows 中是否有任何操作系统功能可以以编程方式了解您系统的当前电源使用情况? (理想的解决方案是通过 WMI 接口。)

【问题讨论】:

***.com/questions/2450902/…中可能有东西 (对我来说,这似乎是一个“真正的问题”:如何在 Windows 中以编程方式确定功耗(或估计值)。如果不可能,它仍然不会使其“不一个真正的问题”,但只是一个答案不太理想的问题。) 谢谢,但是链接太宽泛了。还有更多细节吗? 什么?它是语言学线程吗?我发错地方了吗? 有来自 Microsoft Research 的 Joulemeter,但这不仅仅是一个 API,我不知道它是如何工作的。我相信它会在对某些特定硬件施加压力后使用电池电量,然后将其用作稍后“确定电源使用情况”的表格。看起来——即使没有暴露在 WMI 中——现代主板也会有一种通常检测 CPU/芯片组功耗的方法。但是,其他系统(例如带有外部电源或驱动器的视频卡)是“离网”的。 【参考方案1】:

从 Windows 7 开始,您可以使用位于 root\CIMV2\power 命名空间中的 Win32_PowerMeter WMI 类,该命名空间包含许多与电源管理和配置文件相关的其他类和事件。

【讨论】:

这是一堂非常有趣的课,谢谢!虽然我对如何使用它有些困惑? 你的意思是,你从代码中访问这个类有问题吗? 现在,我可以访问它了。我的意思是如何从中获取用电量统计信息? 试试这个使用这个类的开源项目(code.google.com/p/pwrdrain-gadget)。 非常好。我会试一试。再次感谢!【参考方案2】:

我不知道任何瞬时情况,但GetSystemPowerStatus 可以估计剩余电池电量。每隔几分钟(或按该顺序)调用一次,可以了解您使用电源的速度,至少占电池寿命的百分比。当然,这只有在有电池时才有效——在台式机或服务器系统上,它通常不会产生任何有用的东西。

【讨论】:

是的,这是一个想法……尽管许多系统可能没有电池(就像我现在的台式机一样。)

以上是关于在 Windows 中以编程方式确定电源使用情况?的主要内容,如果未能解决你的问题,请参考以下文章

在 JBoss 5.1 中以编程方式确定 JNDI 根上下文/耳朵名称

在 Windows 中以编程方式设置正在“收听”的音频设备

在 Darwin/OSX 中以编程方式确定进程信息

如何在 Windows 8.1 中以编程方式更改当前的 Windows 主题?

使用 Qt 在 Windows 中以编程方式更改网络适配器名称

在 C# 中以编程方式设置 Windows XP Embedded 区域设置