检测现代待机状态下的电源状态变化

问题描述 投票:0回答:1

我需要检测现代待机中的电源状态变化。在我的特定用例中,我尝试在 Microsoft Surface Pro 上检测(并做出反应)S0 低功耗(睡眠)。

到目前为止,我已经在普通控制台应用程序(VS 2019)中尝试了这些方法:

系统事件.SessionSwitch

SystemEvents.PowerModeChanged

管理事件观察器

虽然我可以让这些与我的笔记本电脑很好地配合使用,但我似乎无法使用这些类中的任何一个来捕获 Surface Pro 使用的 S0 低功耗事件。

如果您点击 ManagementEventWatcher 的链接,我已经尝试了确切的代码,但在 Surface Pro 上调用睡眠时甚至没有得到“EventArrived”。

有什么想法和/或指示吗?

编辑: 我猜想在 WMI 中的某个地方可以检测到 S0 状态。也许WMI的一些专家知道?例如。 ManagementEventWatcher 使用什么类名和范围...

c# .net wmi wmi-query
1个回答
0
投票

从windows 8开始,有一个 PowerRegisterSuspendResumeNotification() API,虽然是c++,估计c#中应该也有类似的api

© www.soinside.com 2019 - 2024. All rights reserved.