高性能,节能和平衡之间的电源计划更改事件
本文关键字:计划 电源 事件 之间 平衡 高性能 | 更新日期: 2023-09-27 18:14:57
我想弄清楚,如何在高性能, 节电器和平衡之间获得电源计划更改事件,我需要它以不同的模式更改每个计划的应用程序。我在这个方向上找到了一些解决方案,但没有得到理想的结果。
例如,如果我取item.CurrentMhz
,它记录处理器当前的功率值,它对不同的目的是有用的,但是这个输出并没有给我电源计划状态public uint Number; MaxMhz; CurrentMhz; MhzLimit; MaxIdleState; CurrentIdleState;
。例如,CurrentIdleState
在Power Saver和High Performance计划上是相等的。不管怎样,如果我能使用它,主要问题是我不能让它作为事件,只能作为条件结果。但事实上它并不是Power Plan State,不同的处理器的功率值是不同的。似乎对于这个目标,这不是得到预期结果的正确方式。
SystemEvents_PowerModeChanged
在这种情况下也没有意义,仅在电源线连接或断开时发生电源状态变化事件。
与PowerStatus powerStatus = SystemInformation.PowerStatus;
相同,但如果电源线连接或断开,则标识当前电源状态。
所以我不确定,如果有任何有用的解决方案,我怎么能让这个事件之间的电力计划改变。
不止这三个计划。在控制面板中,您可以编辑计划和创建新计划。因此,不要期望找到一个三值的enum
。
PBT_APMPOWERSTATUSCHANGE
事件表示电源状态发生变化。该页面随后要求读取SYSTEM_POWER_POLICY
结构,该结构包含由电源计划控制的设置。
因此,该方法似乎是处理PBT_APMPOWERSTATUSCHANGE
事件,调用GetSystemPowerStatus
以获得SYSTEM_POWER_POLICY
结构中的当前电源状态,然后挑选出对您的应用程序重要的值。