2012-03-01 57 views

回答

5

如果您使用的是託管代碼,則會在SystemEvents.PowerModeChanged事件中公開。

SystemEvents.PowerModeChanged += OnPowerModeChanged; 

private void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e) { 
    if (e.Mode == PowerModes.Suspend) { 
    // Going to sleep 
    } 
} 

如果您在使用本機代碼,那麼你要聽你的WindowProc處理程序WM_POWERBROADCAST消息。

LRESULT WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { 
    if (WM_POWERBROADCAST == message && PBT_APMSUSPEND == wParam) { 
    // Going to sleep 
    } 
} 
+0

在編輯中擊敗我。我剛剛提到託管代碼後發佈了這個問題。 :) +1並刪除我的答案。 – 2012-03-01 16:37:43

相關問題