Windows - CPU电源管理API

时间:2010-03-15 22:27:27

标签: .net winapi api power-management

Windows为CPU电源管理提供了哪些API(我对CPU频率调整感兴趣,设置最小和最大CPU频率 - 类似于您在电源计划中可以在控制面板中执行的操作,但是采用编程方式)。我也对.Net API感兴趣。 (这不是我打算在生产环境中使用的东西,而是一些动态电源管理算法的概念证明)

3 个答案:

答案 0 :(得分:5)

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.
    }
}

您可以通过在该命名空间中进行搜索来找到更多内容。

答案 1 :(得分:2)

您是否尝试过挖掘power-management API

答案 2 :(得分:1)

您检查过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