|
c# запускаю Process, а перехватить вывод не получается | ☑ | ||
|---|---|---|---|---|
|
0
qeos
22.05.15
✎
12:38
|
// фиг знает какую секцию ставить.
подскажите по C# 4.5 есть такой код: var proc = new Process(); var psInfo = proc.StartInfo; psInfo.FileName = FullNamePackerExe; psInfo.Arguments = CommanLineParameter + " \"" + _archiveFileName + "\" \"" + _sourceFileName + "\" " + baseFolder; psInfo.WindowStyle = ProcessWindowStyle.Hidden; psInfo.RedirectStandardOutput = false; string output = ""; string errors = ""; StreamReader outreader; StreamReader errreader; outreader = proc.StandardOutput; errreader = proc.StandardError; try { proc.Start(); if (proc != null) proc.WaitForExit(); } catch (Exception ee) { output = outreader.ReadToEnd(); errors = errreader.ReadToEnd(); proc.WaitForExit(); AddLogString("Ошибка в процессе сжатия RAR: " + ee.Message + "\r\n" + output + "\r\n" + errors); } if (proc.ExitCode != 0) { output = outreader.ReadToEnd(); errors = errreader.ReadToEnd(); proc.WaitForExit(); AddLogString("Ошибка в процессе сжатия RAR ExitCode: " + proc.ExitCode + "\r\n" + output + "\r\n" + errors); } не могу получить данные из stdout пишет ошибку: 2015-05-22 12:28:14 Возникла ошибка в процессе выполнения для базы [SQL / ZUP]: Поток StandardOut не был перенаправлен или процесс еще не был запущен. пробовал и другие варианты, примерно одно и тоже.. ЧЯДНТ? |
|||
|
1
Лефмихалыч
22.05.15
✎
12:55
|
psInfo.RedirectStandardOutput = false;
? |
|||
|
2
qeos
22.05.15
✎
13:06
|
RedirectStandardOutput
Возвращает или задает значение, позволяющее определить, записываются ли выходные данные приложения в поток Process.StandardOutput. но не работает ни так, ни так.. |
|||
|
3
Лефмихалыч
22.05.15
✎
13:11
|
а зачем в if (proc.ExitCode != 0)
опять proc.WaitForExit(); ? |
|||
|
4
qeos
22.05.15
✎
13:23
|
эм... незнаю.. само добавилось )))
|
|||
|
5
qeos
22.05.15
✎
13:25
|
похоже изза этого была проблема RedirectStandardOutput
|
| Форум | Правила | Описание | Секции | Поиск |