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

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

【问题讨论】:

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

标签: c# c++ wmi power-management


【解决方案1】:

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

【讨论】:

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

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

【讨论】:

  • 是的,这是一个想法……尽管许多系统可能没有电池(就像我现在的台式机一样。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
相关资源
最近更新 更多