C #: переключение между схемами питания - PullRequest
5 голосов
/ 13 мая 2011

Я создаю API и хочу переключаться между планами электропитания

[Сбалансированный, высокая производительность, энергосбережение]

, моя проблема не включенакод, кодирование легко, но я хочу знать, где я могу найти эти .exe файлы PowerPlans или даже значения в реестре, чтобы изменить его

Ответы [ 5 ]

10 голосов
/ 13 мая 2011

Последнее сообщение Рэймонда Чена об этом, и он предлагает следующее:

Если вы используете Vista или выше, из командной строки запустите:

powercfg -aliases

Однако это не работает для меня, поскольку -aliases не является допустимым переключателем в Windows XP.

РЕДАКТИРОВАТЬ : Или вы можете просто использовать этот список полезных GUID !

3 голосов
/ 13 мая 2011

Хотя вы, безусловно, можете использовать внешний инструмент, такой как powercfg, вы также можете использовать API управления питанием

http://msdn.microsoft.com/en-us/library/aa372711%28v=VS.85%29.aspx

или инструментарий управления Windows (WMI)

http://msdn.microsoft.com/en-us/library/dd904518%28v=VS.85%29.aspx

2 голосов
/ 28 октября 2012

Вот пример использования API управления питанием: PowerManager.cs

2 голосов
/ 13 мая 2011

Вы найдете их в заголовочном файле winnt.h SDK. Хранится в c: \ program files \ microsoft sdks \ windows \ v6.0a \ include для VS2008, v7.0a для VS2010. Выполните поиск «GUID_MAX_POWER_SAVINGS», чтобы найти это:

// =========================================
// Define GUIDs which represent well-known power schemes
// =========================================
//

//
// Maximum Power Savings - indicates that very aggressive power savings measures will be used to help
//                         stretch battery life.
//
// {a1841308-3541-4fab-bc81-f71556f20b4a}
//
DEFINE_GUID( GUID_MAX_POWER_SAVINGS, 0xA1841308, 0x3541, 0x4FAB, 0xBC, 0x81, 0xF7, 0x15, 0x56, 0xF2, 0x0B, 0x4A );

//
// No Power Savings - indicates that almost no power savings measures will be used.
//
// {8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c}
//
DEFINE_GUID( GUID_MIN_POWER_SAVINGS, 0x8C5E7FDA, 0xE8BF, 0x4A96, 0x9A, 0x85, 0xA6, 0xE2, 0x3A, 0x8C, 0x63, 0x5C );

//
// Typical Power Savings - indicates that fairly aggressive power savings measures will be used.
//
// {381b4222-f694-41f0-9685-ff5bb260df2e}
//
DEFINE_GUID( GUID_TYPICAL_POWER_SAVINGS, 0x381B4222, 0xF694, 0x41F0, 0x96, 0x85, 0xFF, 0x5B, 0xB2, 0x60, 0xDF, 0x2E );
1 голос
/ 13 мая 2011

Вы можете использовать Powercfg из командной строки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...