Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обертка на консольным приложением 
:(
    Опции темы
Тигер
Дата 28.7.2012, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2010

Репутация: нет
Всего: нет



нужно из 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 завершился");
        }
    }
}


PM MAIL   Вверх
Тигер
Дата 28.7.2012, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2010

Репутация: нет
Всего: нет



написал ради интереса свое консольное приложение, типа
Код

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

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

Как вывод, вопрос.
Куда выводит(или может выводить) текст программа rtmpdump.exe?
PM MAIL   Вверх
Тигер
Дата 29.7.2012, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2010

Репутация: нет
Всего: нет



Прога выводит в StdError  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0388 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.