Отловить 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);
}
}
}