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

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

您可以订阅SystemEvents.PowerModeChanged事件。

SystemEvents.PowerModeChanged += OnPowerChange; void OnPowerChange(Object sender, PowerModeChangedEventArgs e) { switch ( e.Mode ) { case PowerModes.Resume: ... case PowerModes.Suspend: ... } }