关于Windows中以下可用设置选项的问题: 在Windows和电源选项下==>提前功率设置==>处理器电源管理==>最小处理器状态(可以设置为百分比%)
这个值对应的API结构是什么,我想编写一个程序,它可以控制最小和最大处理器状态的百分比。我试过,SYSTEM_POWER_INFO,SYSTEM_POWER_CAPABILITY,..,没有具体提到这个值。
请告知。
此致
答案 0 :(得分:1)
显然有一个名为WriteProcessorPwrScheme的Windows功能:
BOOLEAN WINAPI WriteProcessorPwrScheme(
_In_ UINT ID,
_In_ PMACHINE_PROCESSOR_POWER_POLICY pMachineProcessorPowerPolicy
);
来源:this SO question中的C#答案让我感到惊讶。按照文档查看PMACHINE_PROCESSOR_POWER_POLICY
结构中的所有内容。
根据文档,该功能不会影响当前的系统电源策略。您需要致电SetActivePwrScheme:
BOOLEAN WINAPI SetActivePwrScheme(
_In_ UINT uiID,
_In_opt_ PGLOBAL_POWER_POLICY lpGlobalPowerPolicy,
_In_opt_ PPOWER_POLICY lpPowerPolicy
);
如果SetActivePwrScheme
不起作用或您的Windows版本不支持,则可以致电PowerSetActiveScheme:
DWORD WINAPI PowerSetActiveScheme(
_In_opt_ HKEY UserRootPowerKey,
_In_ const GUID *SchemeGuid
);
因此,您似乎必须首先使用WriteProcessorPwrScheme
创建一个电源方案,这会将索引更改为一组电源方案,然后您必须使用该索引调用SetActivePwrScheme
来激活它。 / p>
答案 1 :(得分:1)
您可以使用
修改任何电源方案PowerWriteACValueIndex()/PowerWriteDCValueIndex()
第一个参数是NULL, 第二个参数 - 所需电源方案的GUID(GUID_MAX_POWER_SAVINGS / GUID_MIN_POWER_SAVINGS / GUID_TYPICAL_POWER_SAVINGS), 第三个参数 - GUID_PROCESSOR_SETTINGS_SUBGROUP, 第4个参数 - GUID_PROCESSOR_THROTTLE_MAXIMUM或GUID_PROCESSOR_THROTTLE_MINIMUM
所有GUID描述都可以在winnt.h中找到