C# 电源计划更改事件:高性能、节能和平衡

C# 电源计划更改事件:高性能、节能和平衡,c#,event-handling,systemevent,power-state,C#,Event Handling,Systemevent,Power State,我正试图弄清楚,如何在高性能、节电器和平衡之间获得电源计划更改事件,我需要它为每个计划以不同的模式更改我的应用程序。我在这个方向上找到了一些解决方案,但没有得到预期的结果 例如,如果我使用注册处理器当前功率值的item.CurrentMhz,它对于不同的用途很有用,但此输出不会给我电源计划状态公共uint编号;最大兆赫;电流兆赫;MhzLimit;马克西德庄园;不动产。例如,currentildrestate在节能和高性能计划方面是相同的。无论如何,若我能以某种方式使用它,主要的问题是我不能使它

我正试图弄清楚,如何在高性能节电器平衡之间获得电源计划更改事件,我需要它为每个计划以不同的模式更改我的应用程序。我在这个方向上找到了一些解决方案,但没有得到预期的结果

例如,如果我使用注册处理器当前功率值的
item.CurrentMhz
,它对于不同的用途很有用,但此输出不会给我电源计划状态
公共uint编号;最大兆赫;电流兆赫;MhzLimit;马克西德庄园;不动产。例如,
currentildrestate
在节能和高性能计划方面是相同的。无论如何,若我能以某种方式使用它,主要的问题是我不能使它作为事件工作,只能作为有条件的结果。但事实上,这不是电源计划状态,不同处理器的电源值不同。似乎对于这个目标来说,这不是获得期望结果的正确方法

SystemEvents\u PowerModeChanged
在这种情况下也没有意义,仅在连接或断开电源线时发生电源状态更改事件

PowerStatus PowerStatus=SystemInformation.PowerStatus相同相同,但如果连接或断开电源线,则具有当前电源状态标识


因此,我不确定,如果有任何有用的解决方案,如何在电源计划更改之间获得此事件。

不止这三个计划。从“控制面板”可以编辑计划和创建新计划。因此,不要期望找到一个三值
enum

该事件表示电源状态发生变化。然后,该页面要求阅读包含电源计划控制的设置的结构

因此,方法似乎是处理
PBT\u APMPOWERSTATUSCHANGE
事件,调用
GetSystemPowerStatus
以获取
SYSTEM\u power\u POLICY
结构中的当前电源状态,然后选择对应用程序重要的值