2012-10-11 50 views
1

我用我的應用程序下面的語句:過程WaitForExit()

System.Diagnostics.Process process = new System.Diagnostics.Process(); 
process.StartInfo.FileName = 'FileName'; 
process.Start(); 
process.WaitForExit(900000); // 15 minutes 

它是如何工作的? 15分鐘後,如果'FileName'仍在運行/正在執行,將process.WaitForExit(900000);殺死進程?否則執行進入下一個語句而不殺死'FileName',即'FileName'繼續運行直至執行完成?

+0

無法保證WaitForExit(900000)恰好是15分鐘,完全取決於Windows調度程序 –

+0

@Rhhound,看起來您可能試圖指出如果過程在經過15分鐘之前結束,它會返回正確的?但我的意思是,如果您告訴Windows等待15分鐘,並且進程仍在運行,您是否暗示Windows會隨意決定是否要給您回電?也許Windows會說,不,我累了,再給我9分鐘吧? –

回答

2

是的,如果限時WaitForExit由於限制過期而返回,則過程繼續運行。

+0

感謝您的幫助。 – Govinth

1

你可以嘗試

Process.CloseMainWindow(); 

這將關閉應用程序的主窗口,並因此結束它的順利進行。

+0

我沒有看這個解決方案...感謝您的時間... – Govinth

相關問題