Отловить 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д