Отловить Console.ReadLine() в сторонней программе - C#

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

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

Здравствуйте буду вам благодарен за помощь так как литературы на эту тему негде не нашел ! Мне нужно запустить дочерний процесс из программы и когда программа будет в потоке дочернего процесса будет ждать ввод с клавиатуры Console.ReadLine(); то должна автоматически переправится и загрузить информацию не из клавиатуры а из файла автоматически например в масив. Мне хотя бы принцып как это можно сделать чтобы я копал в правильном направлении.

Решение задачи: «Отловить Console.ReadLine() в сторонней программе»

textual
Листинг программы
using System;
using System.IO;
using System.Diagnostics;
using System.Text;
 
namespace WriteToConsole
{
    class Program
    {
        public static void Main(string[] args)
        {
            string fileEXE = "Путь к файлу string.exe";
            string fileTXT = "Путь к файлу File.txt";
            Process p = new Process();
            p.StartInfo.FileName = fileEXE;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.Start();
            StreamWriter sw = p.StandardInput;
            //Читаем весь текст из файла File.txt в переменную inputText
            string inputText = File.ReadAllText(fileTXT, Encoding.Default);
            //Отправляем считанный текст в string.exe
            sw.WriteLine(inputText);
            sw.Close();
            p.WaitForExit();
            p.Close();
    
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

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


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

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

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