高性能,节能和平衡之间的电源计划更改事件

本文关键字:计划 电源 事件 之间 平衡 高性能 | 更新日期: 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结构中的当前电源状态,然后挑选出对您的应用程序重要的值。