С первым методом вы не сможете использовать WaitForExit
, так как метод возвращает ноль, если процесс уже запущен.
Способ проверки, запущен ли новый процесс, отличается между методами.Первый возвращает объект Process
или null
:
Process p = Process.Start("hello");
if (p != null) {
// A new process was started
// Here it's possible to wait for it to end:
p.WaitForExit();
} else {
// The process was already running
}
Второй возвращает bool
:
Process p = new Process();
p.StartInfo.FileName = "hello.exe";
bool s = p.Start();
if (s) {
// A new process was started
} else {
// The process was already running
}
p.WaitForExit();