2012-06-06 97 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方法使应用程序线程暂停,但您至少需要运行其中一个线程(即主线程),以便应用程序恢复其他线程。

暂停和恢复线程是不是虽然是一个好主意。这将是一个更好的解决方案,智能地暂停和恢复应用程序正在执行的任务。例如,如果您的应用程序正在播放视频,您应该找到一种干净的方式来暂停视频控制,并在需要时恢复视频。暂停和恢复线程可能会产生意外的行为和不良的用户体验。

相关问题