C#:在电源计划之间切换

时间:2011-05-13 11:41:17

标签: c# windows registry

我正在创建一个API,我想在电源计划之间切换

  

[平衡,高性能,动力   保护程序]

,我的问题不在代码上,编码很简单,但我想知道在哪里可以找到这些电源平面.exe文件甚至注册表中的值来修改它

5 个答案:

答案 0 :(得分:10)

Raymond Chen的最新帖子恰好与此有关,他建议如下:

如果您使用的是Vista或更高版本,请从命令行运行:

powercfg -aliases

但是,这对我不起作用,因为-aliases不是Windows XP上的有效开关。

编辑:或者,您可以使用此list of helpful GUIDs

答案 1 :(得分:3)

虽然您当然可以使用powercfg之类的外部工具,但您也可以使用Power Management API

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

或Windows Management Instrumenation(WMI)

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

答案 2 :(得分:2)

您可以在winnt.h SDK头文件中找到它们。存储在VS:2008的v:\ program files \ microsoft sdks \ windows \ v6.0a \ include中,VS2010的v7.0a。搜索“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 );

答案 3 :(得分:2)

以下是Power Management API用法示例:PowerManager.cs

答案 4 :(得分:1)

您可以从命令行

使用Powercfg命令