【问题标题】:Multiple Consoles in a Single Console Application单个控制台应用程序中的多个控制台
【发布时间】:2015-08-23 20:23:23
【问题描述】:

我创建了一个 C# 项目,其中包含多个控制台应用程序。现在我的问题是:是否可以在运行一个应用程序时显示多个控制台?如果可以,如何?

比方说,我有一个测试应用程序,它是主应用程序。我还有另外两个控制台应用程序,ABCXYZ。现在,当我运行测试应用程序时,应该会出现应用程序 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();
}

【问题讨论】:

  • 您的意思是用于调试目的吗?还是正常运行的时候?
  • 正常运行。
  • 请注意GetCurrentDirectory 可能无法正常工作!看到这个问题:stackoverflow.com/questions/15653921/get-current-folder-path/…
  • 请检查问题,我已经编写了我使用的代码。
  • @Thorsten 不,GetCurrentDirectory 工作正常。

标签: c# console-application


【解决方案1】:

这里有一个可以做的快速示例......显然,根据自己的喜好调整路径,还有其他一些方法:

预览:

代码:

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();

这是一个快速设置,可以而且应该调整许多事情(异常处理等)。不过,它应该可以帮助您入门。

【讨论】:

  • @B.K.哇,你用什么程序来制作那个视频剪辑?
  • @Luther 有许多创建 gif 的屏幕捕获应用程序。我使用 LICEcap (cockos.com/licecap)、Screen To Gif (screentogif.codeplex.com) 和 Gyazo (gyazo.com)。各有利弊。
  • 我相信您可以通过这种方式打开任何可执行文件。我错误地复制了错误的路径,它打开了一个控制台和一个 WindowsForms 应用程序。这非常有用。非常感谢。
【解决方案2】:

您可以使用 Process.Start() 调用启动另一个进程。看看here 的例子

【讨论】:

  • 我尝试使用您建议的选项,但它不起作用。
  • @Harsh:然后贴一些代码,让我们看看为什么它不起作用。
  • 我的意思是,我希望在运行测试应用程序时出现应用程序 ABC 和 XYZ 的控制台。
【解决方案3】:

是的,你可以。

ProcessStartInfo 允许您捕获控制台输出。

您可能正在寻找这个:Redirect standard output。请注意,您还应该重定向标准错误。

【讨论】:

    猜你喜欢
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 2012-06-20
    • 2019-01-18
    相关资源
    最近更新 更多