Повторное использование Process в C#
От: Аноним  
Дата: 26.01.12 14:05
Оценка:
Здравствуйте!

В своей программе я использую перенаправленный вывод из консольной программы.
Один раз инициализирую объект Process, к примеру так:


            proc = new Process();

            proc.EnableRaisingEvents = true;
            proc.OutputDataReceived += new DataReceivedEventHandler(OnDataReceived);
            proc.Exited += new EventHandler(OnProcessExit);

            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.FileName = "conout.exe";
            proc.StartInfo.Arguments = "param1 param2 param3";


потом по нажатию кнопки запускаю процесс и асинхронное чтение StandardOutput

            try
            {
                proc.Start();
                proc.BeginOutputReadLine();
            }
            catch (Exception ex)
            {
                proc.Close();
                MessageBox.Show(this, ex.Message);
            }


событие OutputDataReceived происходит только при первом запуске процесса,
при последующих запусках процесса уже не работает.
Работает только если заново инициализировать Process.

Можно ли повторно использовать один раз проинициализированный Process
чтобы работал перенаправленный асинхронный вывод из StandardOutput?

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.