2012-06-06 95 views
0

如何讓特定事件觸發時我的WPF應用程序閒置?應用程序空閒

void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e) 
    { 
     if (e.Reason == SessionSwitchReason.SessionLock) { 
      //make application idle 
     } 
     else if (e.Reason == SessionSwitchReason.SessionUnlock) { 
      //run the app again 
     } 
    } 

我有我的代碼是這樣的,當用戶鎖定Windows時,如果條件被觸發,當他解鎖它,否則會被解僱。

有人可以建議我讓應用程序閒置並再次運行它的代碼?

+0

你是什麼意思「讓應用程序空閒」?只要沒有做任何事,你的應用程序*就會閒置。 –

回答

0

您無法在Windows中使應用程序「空閒」。您可以使用Thread.Suspend方法使應用程序線程暫停,但您至少需要運行其中一個線程(即主線程),以便應用程序恢復其他線程。

暫停和恢復線程是不是雖然是一個好主意。這將是一個更好的解決方案,智能地暫停和恢復應用程序正在執行的任務。例如,如果您的應用程序正在播放視頻,您應該找到一種乾淨的方式來暫停視頻控制,並在需要時恢復視頻。暫停和恢復線程可能會產生意外的行爲和不良的用戶體驗。

相關問題