Tôi muốn bắt đầu một chương trình với C# (có thể sử dụng Process.Start()
). Sau đó chương trình của tôi sẽ đợi cho đến khi chương trình bắt đầu được đóng lại, trước khi chương trình tiếp tục.
Làm cách nào để thực hiện việc này?Làm cách nào để tôi có thể bắt đầu Quy trình mới và đợi cho đến khi quá trình kết thúc?
12
A
Trả lời
26
Sau khi bạn gọi Start()
add: Process.WaitForExit()
var myProcess = new Process {StartInfo = new ProcessStartInfo(processPath)};
myProcess.Start().WaitForExit();
3
Có hai cơ chế. Bạn có thể móc sự kiện Process.Exited hoặc những gì bạn có thể thực sự muốn là gọi Process.WaitForExit().
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.waitforexit.aspx
Bạn không thể vượt qua bất kỳ đối số cho các nhà xây dựng như bạn có thể với phương pháp Bắt đầu tĩnh, tuy nhiên bạn có thể cung cấp cho họ bằng cách sử dụng tài sản StartInfo, ví dụ var p = Process mới { \t \t StartInfo = \t \t \t { \t \t \t \t FileName = @ "cmd.exe", \t \t \t \t Arguments = ... \t \t \t \t UseShellExecute = false \t \t \t}, \t}; p.Start(); p.WaitForExit(); p.Close(); –