Megatron13
15-08-2012, 20:00
Вообщем бьюсь над этим вопрос уже доооолгое время. у меня есть консольная прога, вывод которой нужно направить в файл. делал с помощью bat сначала - вместо лога вылезала ошибка EInOutError: I/O error 6. затем решил попробовать с помощью vb .net, с помощью вот такого кода:
Public Class Form1
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
Dim Процесс As New Process
Процесс.StartInfo.FileName = "C:\Program\Program.exe"
Процесс.StartInfo.Arguments = "-url=http://ya.ru/"
Процесс.StartInfo.RedirectStandardOutput = True
Процесс.StartInfo.UseShellExecute = False
Процесс.Start()
Dim Поток As IO.StreamReader = Процесс.StandardOutput
Dim Строка As String
Do Until Поток.EndOfStream
Строка = Поток.ReadLine()
RichTextBox1.AppendText(Строка & vbNewLine)
Loop
Процесс.WaitForExit()
Процесс.Close()
End Sub
End Class
код прекрасно работает для других программ, но при запуске этой программы cmd зависает и не отвисает пока не завершаю процесс, а в лог ничего не пишется. что делать? и да, я могу кинуть прогу в личку но выложить просто так не могу, т.к. прога почти приват и лучше когда о ней знает меньше народу.
Public Class Form1
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
Dim Процесс As New Process
Процесс.StartInfo.FileName = "C:\Program\Program.exe"
Процесс.StartInfo.Arguments = "-url=http://ya.ru/"
Процесс.StartInfo.RedirectStandardOutput = True
Процесс.StartInfo.UseShellExecute = False
Процесс.Start()
Dim Поток As IO.StreamReader = Процесс.StandardOutput
Dim Строка As String
Do Until Поток.EndOfStream
Строка = Поток.ReadLine()
RichTextBox1.AppendText(Строка & vbNewLine)
Loop
Процесс.WaitForExit()
Процесс.Close()
End Sub
End Class
код прекрасно работает для других программ, но при запуске этой программы cmd зависает и не отвисает пока не завершаю процесс, а в лог ничего не пишется. что делать? и да, я могу кинуть прогу в личку но выложить просто так не могу, т.к. прога почти приват и лучше когда о ней знает меньше народу.