Программирование
Веб программирование

Класс Process. Запуск, и ожидание завершения процесса

 
 

Привет всем!
В этой статье я опишу как ожидать завершение процесса , на примере запущенной нами программы.
Итак начнем!

Создайте проект Windows Form и добавьте на форму кнопку(button).
Запустим какое-то приложение, например блокнот.А когда вы его закроете наша программа укажет время и код завершения

Пишем код для кнопки:

 Dim myProcess As Process = System.Diagnostics.Process.Start("C:Windowssystem32notepad.exe") 'Запускаем блокнот и присваиваем его переменой myProcess
Do While Not myProcess.HasExited
Application.DoEvents() 'Нужно штоб программа не зависла и откликалась на действия вовремя ожидания
Loop
myProcess.WaitForExit() ' Ожидаем закрытия блокнота
'Действие по завершению
MsgBox("Notepad был закрыт в: " & myProcess.ExitTime & "." & System.Environment.NewLine & "Код завершения: " & myProcess.ExitCode) 'Выводим информацыю по завершению
myProcess.Close() 'Освобождаем память

Если требуется ожидать определенное время можно сделать так:
Полный код для кнопки:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim myProcess As Process = System.Diagnostics.Process.Start("C:Windowssystem32notepad.exe") 'Запускаем блокнот и присваиваем его переменой MyProcess
myProcess.WaitForExit(5000) ' Ожидание в течение 5 с
If myProcess.HasExited = False Then
myProcess.Kill()'Если процесс еще запущен завершаем его
myProcess.WaitForExit() 'ждем его завершения поскольку он еще не успел закончится
MsgBox("Notepad был закрыт в: " & myProcess.ExitTime & "." & System.Environment.NewLine & "Код завершения: " & myProcess.ExitCode) 'Выводим информацию по завершению
End If

End Sub

Всем спасибо за внимание)


Есть вопросы? Спроси на нашем форуме!!
Нет комментариев

Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.