如何在系统挂起然后恢复时获取事件

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

我想知道当前的系统状态是暂停还是恢复。我已经尝试过SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;

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

我想在频繁的时间间隔内获取系统的状态。我也不想使用WMI查询。有没有其他方法来检测系统状态。

c# .net power-management
1个回答
0
投票

然后,您可以使用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;
        }
    }

希望这可以帮助。

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