在開發WPF應用程序時,我試圖以非交互方式停止應用程序的執行。此應用程序用於用戶將作業提交到Windows羣集的環境中,並且有時在意外情況下提交UI代碼。這些實例最終會在服務器上運行,直到有人識別出他們的存在並終止進程。如何阻止WPF應用程序非交互式運行?
繼在多個問題(#1,#2,#3)答案的建議,我實現了使用Environment.UserInteractive
停止非交互式的使用下面的代碼:
private void Application_Startup (object sender, StartupEventArgs e)
{
if (Environment.UserInteractive)
{
var window = new MainWindow();
window.Show();
}
}
快速測試與Windows 7任務計劃透露這個過程仍然活躍!由於無論用戶是否登錄,該任務都設置爲運行,因此我沒有在任何地方看到窗口,也不確定Environment.UserInteractive
是否返回true
。
那麼如何檢測WPF應用程序是否以非交互方式運行?