如何检查计算机何时进入睡眠状态或唤醒?

esa*_*sac 15 c# power-management

我想让我的程序知道计算机正在进入睡眠状态或从睡眠中醒来,可能有一个事件在其中任何一个发生时被触发.这可能吗?

Jar*_*Par 25

您可以订阅SystemEvents.PowerModeChanged事件.

SystemEvents.PowerModeChanged += OnPowerChange;

void OnPowerChange(Object sender, PowerModeChangedEventArgs e) {
  switch ( e.Mode ) {
    case PowerModes.Resume: 
      ...
    case PowerModes.Suspend:
      ...
  }
}
Run Code Online (Sandbox Code Playgroud)