简体   繁体   English

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

[英]C# : Switch between power plans

i am creating an API and i want to switch between power plans 我正在创建一个API,我想在电源计划之间切换

[Balanced , High performance , Power saver] [平衡,高性能,省电]

, my problem isn`t on the code , coding is easy , but i want to know where can i find these power planes .exe files or even values in registry to modify it ,我的问题不是代码,编码很容易,但我想知道在哪里可以找到这些电源平面.exe文件甚至注册表中的值来修改它

Raymond Chen 's latest post happens to be about this, and he suggests the following: 雷蒙德陈的最新帖子恰好与此有关,他建议如下:

If you are using Vista or above, from the command line, run : 如果您使用的是Vista或更高版本,请从命令行运行:

powercfg -aliases

However, this doesn't work for me as -aliases is not a valid switch on Windows XP. 但是,这对我不起作用,因为-aliases不是Windows XP上的有效开关。

EDIT : Or, you can just use this list of helpful GUIDs ! 编辑 :或者,你可以使用这个有用的GUID列表

While you could certainly use an external tool like powercfg, you could just as well use the Power Management API 虽然您当然可以使用powercfg之类的外部工具,但您也可以使用Power Management API

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

Or Windows Management Instrumenation (WMI) 或Windows Management Instrumenation(WMI)

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

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

You'll find them in the winnt.h SDK header file. 您可以在winnt.h SDK头文件中找到它们。 Stored in c:\\program files\\microsoft sdks\\windows\\v6.0a\\include for VS2008, v7.0a for VS2010. 存储在VS:2008的v:\\ program files \\ microsoft sdks \\ windows \\ v6.0a \\ include中,VS2010的v7.0a。 Search for "GUID_MAX_POWER_SAVINGS" to find this: 搜索“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 );

您可以从命令行使用Powercfg命令

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM