我跑出去的想法關閉,不能因此在這裏找到關於它的任何引用我去後,立即... 我需要保持輔助應用程序至極是不相關的我的C#項目總是在後臺運行。因此,如果這個輔助應用程序崩潰或其他人手動關閉它,它會自動通過我的c#應用程序重新啓動。如何重新打開文件時,它通過我的C#應用程序
我不知道該怎樣來完成這一個線索,我的意思是檢查,如果該應用程序關閉通過我的C#應用程序外在的東西。
任何幫助將不勝感激。 在此先感謝。
我跑出去的想法關閉,不能因此在這裏找到關於它的任何引用我去後,立即... 我需要保持輔助應用程序至極是不相關的我的C#項目總是在後臺運行。因此,如果這個輔助應用程序崩潰或其他人手動關閉它,它會自動通過我的c#應用程序重新啓動。如何重新打開文件時,它通過我的C#應用程序
我不知道該怎樣來完成這一個線索,我的意思是檢查,如果該應用程序關閉通過我的C#應用程序外在的東西。
任何幫助將不勝感激。 在此先感謝。
下面的代碼是在C#,它是一個WinForm內部。
private void Form1_Load(object sender, EventArgs e)
{
Process p = Process.GetProcessesByName("Notepad")[0];
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(p_Exited);
}
void p_Exited(object sender, EventArgs e)
{
MessageBox.Show("Exit");
}
它看起來與名稱的記事本&一個過程檢索它的第一個實例。它將EnableRaisingEvents設置爲true並掛鉤到Exited事件。每當記事本關閉時,它都會顯示警報。
基於這個邏輯,你可以構建你的應用程序。
您可以使用FileSystemWatcher讓其他應用程序修改該文件的手錶。
FileSystemWatcher的有類似改變,創建,重命名,刪除,它可以訂閱跟蹤文件更改的事件。
作爲一種解決方案,您可以使用Windows服務調用您始終運行的應用程序。
您可以使該服務從應用程序捕獲錯誤返回代碼,並根據錯誤重新啓動它。
可以保持如果它正在運行或在vb.net
不使用過程類對於各個p作爲處理在Process.GetProcessesByName(「通信器」) 的ShowWindow檢查的處理(p.MainWindowHandle,SHOW_WINDOW .SW_NORMAL) 下一個p
,如果你要的不是在礦井名單的過程中,你可能會再次啓動。 阿希什庫馬爾
最簡單的方法是運行一個計時器,並在記號事件,使用 -
if (Process.GetProcessesByName("communicator").Count() == 0)
{
Process.Start("communicator.exe");
}
我一開始是這麼想的,但也許它不會消耗太多的資源,因爲它總是在計時器結束時檢查運行的實例嗎? – MikVal
如果,用戶首先殺死你的C#應用程序,然後關閉其他應用程序 – Ramesh
@Ramesh如果用戶關閉我的C#應用程序,然後在其他應用程序不會再重新啓動。此特定行爲只能在我的應用程序運行時發生。我真的需要一些代碼行例子。 – MikVal