Запуск сторонних процессов и подключение к их стандартному потоку - C#

Узнай цену своей работы

Формулировка задачи:

Есть желание подключиться из c# к потоку программки. Но выдаёт следующую ошибку: Необработанное исключение типа "System.InvalidOperationException" произошло в System.dll Дополнительные сведения: Поток StandardOut не был перенаправлен или процесс еще не был запущен. Я не совсем понял что microsoft хотит этим сказать... код прилагается:
Process rasp_engine = new Process();
            rasp_engine.StartInfo.FileName = "C:\\Test.exe";
            rasp_engine.StartInfo.CreateNoWindow = true;
            rasp_engine.Start();
            rasp_engine.BeginOutputReadLine();
           // rasp_engine.WaitForExit();
            //StreamReader reader = rasp_engine.StandardOutput; //rasp_engine.StandardOutput, Encoding.ASCII);            
            StreamWriter writer = rasp_engine.StandardInput;
            writer.Write(5);
#include <iostream>
#include <stdio.h>
using namespace std;
 
int main(void)
{
    int t;
    cout<<"HI!";
    cin>>t;
    cout<<t;
    getchar();
    return(0);
}
вот собственно всё - это просто тест, но и он никак работать не хочет=( Если кто может подскажите, хотя бы ссыль где про ето почитать мона.

Решение задачи: «Запуск сторонних процессов и подключение к их стандартному потоку»

textual
Листинг программы
            Process proc = new Process();
 
            proc.StartInfo.FileName = "C:\\Test.exe"; 
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardInput = true;
            proc.Start();
 
            var streamIn = proc.StandardInput;
                       streamIn.Write(7);
            streamIn.Close();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.385 из 5
Похожие ответы