Как получить события, когда система приостановлена, а затем возобновить - PullRequest
0 голосов
/ 30 августа 2018

Я хочу знать текущее состояние системы, будь то приостановить или возобновить. я уже пробовал SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;

private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
  log.DebugFormat("System Power event {0}", e.Mode.ToString());
}

Я хочу получить статус системы на частом интервале. я не хочу использовать запрос WMI также. Есть ли другой способ определения состояния системы.

1 Ответ

0 голосов
/ 30 августа 2018

Затем вы можете использовать событие 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;
        }
    }

Надеюсь, это поможет.

...