Abhishek Kumar (here to help!!) Ответов: 1

Как установить стандартный вывод для процесса.


Привет,

Я создаю два приложения APF.
Приложение-1: родительское приложение.
Приложение-2: детское приложение.

Сценарий:
Приложение-2 вызывается из приложения-1 на основе условия.
Я использую процесс.Пуск и пуск.Аргументы для вызова приложения-2 и передачи ему некоторых данных.

Приложение-2 берет эти данные и работает над ними. Есть окончательные данные, которые я хочу захватить из приложения-2 в Приложении-1, Как только оно будет закрыто.

Ниже приведен код.

string parameter = "INVK://param1/value1/param2/value2/";

			System.Diagnostics.Process launchAuthorApp = new System.Diagnostics.Process();
			launchAuthorApp.StartInfo.FileName = @"C:\APP2.exe";
			launchAuthorApp.StartInfo.Arguments = parameter;
			launchAuthorApp.OutputDataReceived += launchAuthorApp_OutputDataReceived;
			launchAuthorApp.Start();
			while (!launchAuthorApp.StandardOutput.EndOfStream)
			{
				string line = launchAuthorApp.StandardOutput.ReadLine();
			}



Как установить выход для приложения-2?

Информации kinldy ответить.

Спасибо,
Абхишек

Что я уже пробовал:

Я Пытался
System.Diagnostics.Debug.WriteLine("Output 123");

но не работает.
Я не уверен, что двигаюсь в правильном направлении.

1 Ответов

Рейтинг:
8

StM0n

Я думаю, что вы должны перенаправить вывод и использовать Console.WriteLine.

Ммм... может быть, что-то вроде этот[^] может помочь вам

В вашем приложении-1

var launchAuthorApp = new System.Diagnostics.Process {
    StartInfo = {
          FileName               = @"C:\APP2.exe",
          UseShellExecute        = false,
          RedirectStandardOutput = true,
          Arguments              = "INVK://param1/value1/param2/value2/"
    }
};

launchAuthorApp.Start();

Console.WriteLine(launchAuthorApp.StandardOutput.ReadToEnd());


А в Приложении-2 (как пример)
static void Main(string[] args) {
    Console.WriteLine(args[0]);
}