从其他控制台应用运行控制台应用

Daw*_*hia 35 c# console-application

我有一个C#控制台应用程序(A).我想从应用程序A(以同步方式)执行其他控制台应用程序(B),以便B使用相同的命令窗口.当B存在时,A应该能够读取B的退出代码.

怎么做?我只需要关于如何在同一个cmd窗口中运行这个其他应用程序的这个小技巧.

Ode*_*ded 35

您可以使用它Process.Start来启动其他控制台应用程序.

您需要构建过程与ProcessStartInfo.RedirectOutput设置为true和UseShellExecute设置false,以便能够利用自己的输出.

然后,您可以使用StandardOutput.ReadToEnd该过程读取输出.


Bri*_*sen 9

您可以使用该Process.Start()呼叫启动另一个进程.这里的示例显示了如何从其他进程读取输出并等待它完成.


Che*_*are 8

我能够通过调用以下配置来运行程序“B”作为同一命令窗口的一部分:

ConsoleColor color = Console.ForegroundColor;
ProcessStartInfo startinfo = new ProcessStartInfo(nameProgramB);
startinfo.CreateNoWindow = false;
startinfo.UseShellExecute = false;
Process p = Process.Start(startinfo);
p.WaitForExit();
Console.ForegroundColor = color;
Run Code Online (Sandbox Code Playgroud)

这样,两个程序就可以像单个程序一样无缝运行。“nameProgramB”是程序“B”的名称。希望这可以帮助。