Нюансы запуска процесса в .NET
Как известно, среда .NET позволяет запускать процесс с параметрами. Есть несколько интересных особенностей, о которых хочется упомянуть. Например, чтобы получать уведомление о завершении вызванного процесса, следует явно его включить:
Dim proc As New Process With { .EnableRaisingEvents = True }
А теперь можно назначить обработчик события завершения процесса:
AddHandler proc.Exited, Sub() Console.WriteLine("The process has exited!") End Sub
Также можно запустить процесс, не используя стандартную консоль CMD.exe, а перенаправив вывод в запускающее приложение:
Dim psi As New ProcessStartInfo() With { .UseShellExecute = False, .RedirectStandardOutput = True, .RedirectStandardInput = True } Dim proc As New Process With { .StartInfo = psi }