Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Обертка на консольным приложением


Автор: Тигер 28.7.2012, 13:39
нужно из GUI запускать консольную программу  и перехватывать её вывод.
почему-то ничего не перехватывается, хотя прога отрабатывает и завершается.
пишу так
Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    class rtmpDump
    {
        public void open(String url)
        {
            try
            {
                var pr = new Process();
                pr.StartInfo.FileName = "C:/WINDOWS/rtmpdump.exe";
                pr.StartInfo.Arguments = "-help";
                pr.StartInfo.UseShellExecute = false;
                pr.StartInfo.RedirectStandardOutput = true;
                pr.StartInfo.StandardOutputEncoding = Encoding.GetEncoding(866);
                pr.StartInfo.CreateNoWindow = true;
                pr.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
                pr.EnableRaisingEvents = true;
                pr.Exited += new EventHandler(whenExitProcess);
                pr.Start();
                pr.BeginOutputReadLine();
            }
            catch (Exception error)
            {
                MessageBox.Show("Ошибка при запуске!\n" + error.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void OutputHandler(object sender, DataReceivedEventArgs line){
            MessageBox.Show(line.Data);
        }
        private void whenExitProcess(object sender, EventArgs e)
        {
            MessageBox.Show("rtmpdump завершился");
        }
    }
}


Автор: Тигер 28.7.2012, 20:37
написал ради интереса свое консольное приложение, типа
Код

for(int i=0;i<10;i++){
   Console.Write("Test line "+i+"\n");
}
Console.ReadLine();

и тут все перехватывается нормально.

Как вывод, вопрос.
Куда выводит(или может выводить) текст программа rtmpdump.exe?

Автор: Тигер 29.7.2012, 00:28
Прога выводит в StdError  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)