Домой Process Ожидание завершения процесса: Справочник по C#

Ожидание завершения процесса: Справочник по C#

1115
0


      В .Net существует класс Process предоставляющий доступ к локальным и удаленным процессам, а так же позволяет запускать и останавливать локальные системные процессы. Данный класс имеет метод Process.WaitForExit, задающий период времени для ожидания завершения связанного процесса и блокирует текущий поток.
      При завершении связанного процесса (то есть, когда он завершает свою работу под воздействием операционной системы через нормальное или аварийное завершение) система сохраняет административную информацию о процессе и возвращает ее компоненту, вызвавшему метод WaitForExit().

Внимание! В .NET Framework 3.5 и более ранних версий, перегрузки WaitForExit(), не бесконечно ждали MaxValue (примерно 24 дня). Кроме того, предыдущие версии не дожидались выхода обработчика событий, если было достигнуто полное время MaxValue.

      Создайте проект Windows Form в Microsoft Visual Studio и добавьте на главную форму компонент «Button». Сделайте двойной клик левой клавишей мыши по компоненту «Button» и перейдите в автоматически созданный метод «button1_Click». Добавьте приведенный ниже листинг:

OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo(ofd.FileName);

System.Diagnostics.Process rfp = new System.Diagnostics.Process();
rfp = System.Diagnostics.Process.Start(psi);

rfp.WaitForExit();//ожидание завершения процесса
if (rfp.HasExited)
MessageBox.Show("Процесс был успешно закрыт");

Ссылка на исходник: Rusfolder.net

ЧИТАТЬ ТАКЖЕ:  Раскладка клавиатуры текущего окна Windows Form: Справочник по C#

Ожидание завершения процесса: Справочник по C#

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь