2011-09-30 95 views
1

我想知道是否有可能檢測到某個進程死亡或關閉的正常方式。換句話說,如果進程從進程列表中刪除。檢測沒有管理權限的運行過程的結束

我知道這是可能通過使用WMI和System.Management.ManagentEventWatcher,但是這需要管理員權限,我寧願如果它,而不需要那些完成。

由於目前我使用的Process.Start( 「ProgramX.exe」);我想知道該計劃何時關閉或終止。以便我可以採取行動。

+0

請參閱http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts/ –

+0

可能[如何在運行某個進程時將程序發送到後臺]的副本(http://stackoverflow.com/questions/7584932/how-to-send-my-program-to-background-while-a-certain-過程是運行) –

+0

沒有重複,因爲我不發送程序啓動其他程序到後臺.. – Raskaroth

回答

1

如果啓動過程中自己,那麼你可以等待它使用Process.WaitForExit method完成。請注意,等待是一個阻塞操作,最好是在另一個線程中進行,然後從該線程發出事件信號。

例:

var process = Process.Start("ProgramX.exe"); 
... 
process.WaitForExit(); 
+0

謝謝您的回答,但是您會使用WMI還是Process.WaitForExit方法?我做了一個民意調查,用戶並不關心某些(可信的)程序是否需要管理員權限。 – Raskaroth

相關問題