Windows - API управления питанием процессора - PullRequest
7 голосов
/ 16 марта 2010

Какие API предоставляются Windows для управления питанием ЦП (меня интересует масштабирование частоты ЦП, настройка минимальной и максимальной частоты ЦП - аналогично тому, что вы можете делать в Панели управления в планах управления питанием, но программным способом). Я также заинтересован в .Net API. (Это не то, что я намерен использовать в производственной среде, а скорее как подтверждение концепции для некоторых алгоритмов динамического управления питанием)

Ответы [ 3 ]

5 голосов
/ 23 марта 2010

API C ++ Power Management: http://msdn.microsoft.com/en-us/library/aa373170.aspx

.NET Power Management 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 голосов
/ 16 марта 2010

Вы пробовали копаться в API управления питанием ?

1 голос
/ 24 марта 2010

Вы проверили способ 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

...