事件从睡眠在C#检测系统唤醒 [英] Event to detect System wake up from sleep in C#

查看:2166
本文介绍了事件从睡眠在C#检测系统唤醒的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要检测系统电源状态模式。要precise,我需要它会调用当Windows 7从睡眠中唤醒的事件。我已经使用:

  SystemEvents.PowerModeChanged + = SystemEvents_PowerModeChanged;

但是与此事件的问题是,它被升高四次:可能当计算机进入睡眠模式和后计算机唤醒。我想这是在电脑唤醒只能引发的事件。是否有任何事件吗?


解决方案

  SystemEvents.PowerModeChanged + = OnPowerChange;私人无效OnPowerChange(对象S,PowerModeChangedEventArgs E)
{
    开关(e.Mode)
    {
        案例PowerModes.Resume:
        打破;
        案例PowerModes.Suspend:
        打破;
    }
}

您或许应该这样说的:
<一href=\"http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.powermodechanged.aspx\">http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.powermodechanged.aspx

I need to detect the system power state mode. To be precise, I need an event which fires up when windows 7 wakes up from sleep. I am already using:

SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;

But the problem with this event is that it is raised up four times: possibly when computer goes into sleep mode and after computer wakes up. I want an event which is raised at computer wake up only. Is there any event for this?

解决方案

SystemEvents.PowerModeChanged += OnPowerChange;

private void OnPowerChange(object s, PowerModeChangedEventArgs e) 
{
    switch ( e.Mode ) 
    {
        case PowerModes.Resume: 
        break;
        case PowerModes.Suspend:
        break;
    }
}

You should probably read this: http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.powermodechanged.aspx

这篇关于事件从睡眠在C#检测系统唤醒的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆