单个控制台应用程序中的多个控制台
我创建了一个C#项目,其中包含多个控制台应用程序。 现在我的问题是: 当我运行一个应用程序时,是否可以显示多个控制台? 如果有,怎么样?
可以说,我有一个测试应用程序,这是主要的应用程序。 我有另外两个控制台应用程序说, ABC
和XYZ
。 现在,当我运行测试应用程序时,应该出现应用程序ABC和XYZ的控制台。
我写了以下代码:
Console.WriteLine("\n\t Calling EXE..."); Process myProcess = new Process(); string Exepath = System.IO.Directory.GetCurrentDirectory() + "\\exe\\ABCApplication.exe"; try { myProcess.StartInfo.UseShellExecute = false; myProcess.StartInfo.FileName = Exepath; myProcess.StartInfo.CreateNoWindow = false; myProcess.Start(); } catch (Exception ex) { CreateLogFile(); }
这是一个可以做什么的快速示例……显然,根据自己的喜好调整路径,还有其他一些方法:
预习:
码:
using (var process1 = new Process()) { process1.StartInfo.FileName = @"..\..\..\ConsoleApp1\bin\Debug\ConsoleApp1.exe"; process1.Start(); } using (var process2 = new Process()) { process2.StartInfo.FileName = @"..\..\..\ConsoleApp2\bin\Debug\ConsoleApp2.exe"; process2.Start(); } Console.WriteLine("MainApp"); Console.ReadKey();
这是一个快速设置,可以并且应该调整许多事情(exception处理等等)。 不过,它应该让你入门。
您可以使用Process.Start()调用启动另一个进程。 看看这里的例子
是的你可以。
ProcessStartInfo
允许您捕获控制台输出。
你可能正在寻找这个: 重定向标准输出 。 请注意,您还应该重定向标准错误。