Depending on the processes you are starting you might be able to do something like this
System.Diagnostics.Process proc = System.Diagnostics.Process.Start("name.exe");
proc.WaitForInputIdle();
There is also an overload for WaitForInputIdle(int timeout) so it will only wait so long and then return.