I want to start a program with C# (could use Process.Start()
). Then my program should wait until the started program is closed, before it continues.
How do I do this?
How can I start a new Process and wait until it finishes?
Asked Answered
After you call Start()
add: Process.WaitForExit()
var myProcess = new Process {StartInfo = new ProcessStartInfo(processPath)};
myProcess.Start().WaitForExit();
You can't pass any arguments to the constructor like you can with the static Start method, however you can supply them using the StartInfo property, e.g. var p = new Process { StartInfo = { FileName = @"cmd.exe", Arguments = ... UseShellExecute = false }, }; p.Start(); p.WaitForExit(); p.Close(); –
Holston
There are two mechanism. You can either hook the Process.Exited event or what you probably really want is to call 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
© 2022 - 2024 — McMap. All rights reserved.