【发布时间】:2011-01-27 21:33:28
【问题描述】:
Windows 为 CPU 电源管理提供了哪些 API(我对 CPU 频率缩放、设置最小和最大 CPU 频率感兴趣 - 类似于您可以在电源计划中的控制面板中执行的操作,但以编程方式)。我也对 .Net API 感兴趣。 (这不是我打算在生产环境中使用的东西,而是作为一些动态电源管理算法的概念证明)
【问题讨论】:
标签: .net winapi api power-management
Windows 为 CPU 电源管理提供了哪些 API(我对 CPU 频率缩放、设置最小和最大 CPU 频率感兴趣 - 类似于您可以在电源计划中的控制面板中执行的操作,但以编程方式)。我也对 .Net API 感兴趣。 (这不是我打算在生产环境中使用的东西,而是作为一些动态电源管理算法的概念证明)
【问题讨论】:
标签: .net winapi api power-management
C++ 电源管理 API:http://msdn.microsoft.com/en-us/library/aa373170.aspx
.NET 电源管理 API 位于 Microsoft.Win32 命名空间中。
来自http://msdn.microsoft.com/en-us/library/hxkc1kwd.aspx的示例:
private void powerModeChanged(System.Object sender, Microsoft.Win32.PowerModeChangedEventArgs e)
{
int si = SystemInformation.PowerStatus;
switch (si)
{
case BatteryChargeStatus.Low:
MessageBox.Show("Battery is running low", MessageBoxIcon.Exclamation);
case BatteryChargeStatus.Low:
MessageBox.Show("Battery is critically low", MessageBoxIcon.Stop);
Default:
// Battery is okay.
}
}
您可以在该命名空间中四处寻找更多信息。
【讨论】:
你试过挖power-management API吗?
【讨论】:
您检查过 WMI 方式吗? Win32_Processor 类提供了很多信息,如 LoadPercentage、PowerManagementCapabilities...
http://msdn.microsoft.com/en-us/library/aa394373%28VS.85%29.aspx
WMI 参考:http://msdn.microsoft.com/en-us/library/aa394572%28VS.85%29.aspx
【讨论】: