PDA

Показать полную графическую версию : перенаправление вывода из консольной программы в файл


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 зависает и не отвисает пока не завершаю процесс, а в лог ничего не пишется. что делать? и да, я могу кинуть прогу в личку но выложить просто так не могу, т.к. прога почти приват и лучше когда о ней знает меньше народу.

Iska
15-08-2012, 20:22
Megatron13, приведите ссылку на загрузку этой
есть консольная прога »
Не дочитал пост до конца… Приложение пакуйте в архив с паролем. Ссылку на загрузку и пароль — в личку.

Anonymоus
16-08-2012, 02:39
Megatron13, повторю реквест Iska, мне тоже в личку отправьте, пожалуйста. И ссылку на анализ файла на virustotal.com (http://www.virustotal.com/)
С потоками вывода играться пробовали? (я про конструкции вида 2>&1>>out.txt) Ключи запуска программы известны? Через пайп передавать вывод пробовали? В цикле for запускали?




© OSzone.net 2001-2012