我想知道当前的系统状态是暂停还是恢复。我已经尝试过SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
log.DebugFormat("System Power event {0}", e.Mode.ToString());
}
我想在频繁的时间间隔内获取系统的状态。我也不想使用WMI查询。有没有其他方法来检测系统状态。
然后,您可以使用SystemEvents.PowerModeChanged事件来了解系统是否被挂起(当您休眠或休眠时,将发生暂停)。
SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(OnPowerModeChanged);
private static void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
switch (e.Mode)
{
case PowerModes.Resume:
MessageBox.Show("PowerMode: OS is resuming from suspended state");
break;
case PowerModes.Suspend:
MessageBox.Show("PowerMode: OS is about to be suspended");
break;
}
}
希望这可以帮助。