
Небольшая заметка о том, как в 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");
|
|
Webmoney Z163628999150, R617151845974
|