使用 winAPI 设置窗口的高性能电源计划C++
Setting On windows' High Performance power plan using C++ winAPI
编写了一个代码,试图通过C 中的Winapi激活Windows的高完善力量计划。除了我感兴趣的高性能计划外,它似乎对所有电力计划(在我的航站楼都被称为平衡,避免电力和戴尔)似乎都很好!我希望代码能够完成所有功率计划,并且在找到高性能时,就会将其设置起来然后退出。如果有人可以帮助我,请将我的代码放在下面。预先感谢!
#include <windows.h>
#include <powrprof.h>
#include <iostream>
#include "stdio.h"
#include <ntstatus.h>
#include <string>
#pragma comment(lib, "powrprof.lib")
using namespace std;
int main(int argc, char **argv) {
////////////////// SET ACTIVE HIGH PERFORMANCE PLAN ///////////////////
//Variables
UCHAR displayBuffer[64] = " ";
DWORD displayBufferSize = sizeof(displayBuffer);
GUID buffer;
DWORD bufferSize = sizeof(buffer);
//Go throught the machine's power plans and activate the high performance one
for(int index = 0; ; index++)
{
if (ERROR_SUCCESS == PowerEnumerate(NULL,NULL,&GUID_VIDEO_SUBGROUP,ACCESS_SCHEME,index,(UCHAR*)&buffer,&bufferSize) )
{
if (ERROR_SUCCESS == PowerReadFriendlyName(NULL,&buffer,&NO_SUBGROUP_GUID,NULL,displayBuffer,&displayBufferSize) )
{
wprintf(L"%sn", (wchar_t*)displayBuffer);
if( 0 == wcscmp ( (wchar_t*)displayBuffer, L"High Performance" ) )
{
cout << "High Performance Plan Found!n";
if (ERROR_SUCCESS == PowerSetActiveScheme(NULL,&buffer) )
{
cout << "* Setting Active High Performance Power Plan *";
//std::cin.get(); //pause
break;
}
}
}
}
else break;
}
return 0;
}
这可以更轻松地完成:
PowerSetActiveScheme(0, &GUID_MIN_POWER_SAVINGS);
相关文章:
- 如何在GTK程序运行时禁用屏幕保护程序/电源管理/屏幕消隐
- 如何让C++'tally up'结果并制定计划?
- 电源功能模块化操作
- 为什么 icc 为简单的主电源生成奇怪的组件?
- C++窗口的计划问题
- 回复计划游戏结果不会显示
- 我正在努力处理多维数组输入和输出,我管理输入,但是打印无法按计划工作
- 如何从文本文件输出数据?(学生成绩单计划)
- 为什么在此计划中,我在所有情况下都获得 0%?
- Windows 并发运行时任务计划,但有例外
- C++航班预订计划
- 如何计划在将来时间运行的操作
- 自动(toCast)显式转换是否计划在未来C++标准?
- 任务计划程序库的预处理不起作用 - 多定义错误
- GLES计划资源索引/位置与统一索引/位置
- 我应该如何使用C++创建 Google 行动行动计划履行端点?
- 为什么这段代码不直接使用 C++ 幂函数?有人可以帮助我使用此代码中的电源函数吗?
- 多米诺骨牌计划。我不知道如何将我的矢量拉到空白中以打印出来
- 使用 winAPI 设置窗口的高性能电源计划C++
- 在C#中获取Windows电源计划/方案(使用WinAPI)