Запуск внешних процессов в C#

Запуск внешних процессов в C#
Небольшая заметка о том, как в C# запускать сторонние приложения и дожидаться их завершения.
Для вызова внешних программ в C# используется класс System.Diagnostics.Process.
Для запуска нового процесса нужно его методу Start передать имя запускаемого файла:
Process p = Process.Start("explorer");

Если запуск нового процесса — это все, что Вам нужно, то дальше можете и не читать. А если Вам нужно дождаться завершения процесса и выполнить после этого некоторые действия, то нужно вызвать метод WaitForExit () нового процесса:
p.WaitForExit(); // Ожидаем завершения процесса
Console.WriteLine("Process exited");

Вышеупоммянутый код полностью останавливает приложение на время работы вызываемой программы. Если это не нужно, то можно привязать к процессу обработчик его завершения, и пока он работает заниматься своими делами:

Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo("explorer");

p.StartInfo = info;
// привязываем обработчик завершения процесса
p.Exited += new EventHandler(processExited);
p.EnableRaisingEvents = true;
p.Start();
Console.WriteLine("Process started");

Пример:
Скачать

Поблагодарить автора

Оставить комментарий

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>