Считать строки из cmd в переменные

151
20 ноября 2020, 20:10

Делаю небольшую оболочку на C# для программы, работающей из командной строки. Оболочка - Windows Forms. В чем проблема: из оболочки передается переменная, основная программа на это реагирует выводом нескольких строк с разными параметрами в командную строку. Мне необходимо каждую строку этого вывода занести в отдельную переменную. Как это сделать - пока что не пойму. Прошу с этим помочь.

Answer 1

Вы запускаете отдельный процесс (основную программу), передавая ему аргументы или какие-то значения в stdin, а читаете его ответ из stdout этого процесса.

Вот пример того, как запускается компилятор:

Process compiler = new Process();
compiler.StartInfo.FileName = "csc.exe";
compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();    
Console.WriteLine(compiler.StandardOutput.ReadToEnd());
compiler.WaitForExit();
READ ALSO
c# собрать проект в ехе файл

c# собрать проект в ехе файл

как получить самостоятельный ехе файл? который можно например отправить по почте без каких то дополнительных файлов типа библиотек

105
Асинхронный lock- это зло или нет?

Асинхронный lock- это зло или нет?

Интереса ради, изучал возможность асинхронной блокировки и наткнулся на данный вопрос, где почти все сказали ТСу, что это зло

104
Не удается сделать Inject в процесс, исключение при попытке сделать инъекцию

Не удается сделать Inject в процесс, исключение при попытке сделать инъекцию

Уже не знаю что делать, но при попытке сделать инъекцию библиотеки в процесс, получаю исключение:

130
Форма блокируется потоком

Форма блокируется потоком

C# WinFormThread запускается и работает, но блокирует все элементы формы

95