【问题标题】:Windows - CPU power management APIsWindows - CPU 电源管理 API
【发布时间】:2011-01-27 21:33:28
【问题描述】:

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

【问题讨论】:

    标签: .net winapi api power-management


    【解决方案1】:

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

    您可以在该命名空间中四处寻找更多信息。

    【讨论】:

      【解决方案2】:

      你试过挖power-management API吗?

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-16
          • 1970-01-01
          • 2013-02-20
          • 1970-01-01
          • 2010-12-26
          • 2011-09-25
          相关资源
          最近更新 更多