Как программно запустить программу и отправить ей команду

123
22 апреля 2021, 17:10

С#/PascalABC.NET - Как программно запустить стороннюю консольную программу и отправить ей команду так, чтобы она не закрывалась, а оставалась открытой и её главное окно не отображалось?

Я пробовал вот так, но у той программы происходит исключение при попытке сделать System.Console.ReadLine();

var KPLc := new Process;
KPLc.StartInfo := new ProcessStartInfo('cmd.exe', '/k "PABCNETC\pabcnetc.exe"');
with KPLc.StartInfo do
begin
    RedirectStandardInput := true;
    CreateNoWindow := true;
    UseShellExecute := false;
end;
KPLc.Start;
var KPLcSW := KPLc.StandardInput;
KPLcSW.WriteLine('privet.pas');
Answer 1

Процесс не тот. Консоль порождает хост - дочерний процесс, а уже в нём запускается программа. Ну и про то, что что-то не должно закрываться - что-то не то. Нет смысла держать консоль, программа всё равно завершится. Так что запускай напрямую программу без консоли.

KPLc.StartInfo := new ProcessStartInfo('PABCNETC\pabcnetc.exe');
READ ALSO
Сравнение отрисовки UserControl и Window при перемещении

Сравнение отрисовки UserControl и Window при перемещении

У меня появилась потребность перетаскивания UserContol по родительскому Grid'yЗаметил что при перетаскивании контрола появляется задержка визуализации,...

110
Не удается найти часть пути к файлу

Не удается найти часть пути к файлу

Есть проект библиотеки в котором необхдимо хранить XML файлСтруктура такова:

102
Соединение с Oracle RAC через ODP.NET

Соединение с Oracle RAC через ODP.NET

Доброго времени суток!

94