2015年8月17日 星期一

C# Sleep, Hibernate 喚醒

English
========================================================================
Add below code in your project.

using Microsoft.Win32;


private void Form1_Load(object sender, EventArgs e)
{
        SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);
}


void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
        if (e.Mode.Equals(PowerModes.Resume))
        {
                //Do  what you want when system back.
        }
}

System will occur the PowerModeChanged event when system back from Sleep or Hibernate. We can use this event to do what we want.



中文
========================================================================
在程式中增加以下程式碼:

using Microsoft.Win32;


private void Form1_Load(object sender, EventArgs e)
{
        SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);
}


void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
        if (e.Mode.Equals(PowerModes.Resume))
        {
                //Do  what you want when system back.
        }
}

當系統從 S3 或 S4 恢復時,會觸發 PowerModeChange event,因此就能完成所想對應的事情。

沒有留言:

OS Operating System 作業系統 恐龍書 筆記分享

發現一個作業系統說明的網站, 對於 process vs thread, semaphore vs mutex, deadlock 說明很詳細, 有興趣的人可以去以下的網頁逛逛。 附上網址連結: link   link2