Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple Consoles in a Single Console Application

I have created a C# Project which has multiple console applications in it. Now my question is: Is it possible to display multiple consoles when I run one application? if yes, how?

Lets say, I have a Test Application, which is the main application. I have another two Console applications say, ABC and XYZ. Now, when i run the Test Application, the console of both applications ABC and XYZ should appear.

I have written the following code:

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();
}
like image 365
Harsh Avatar asked Jun 09 '15 06:06

Harsh


People also ask

What is console application with example?

A console application is a computer program designed to be used via a text-only computer interface, such as a text terminal, the command-line interface of some operating systems (Unix, DOS, etc.) or the text-based interface included with most graphical user interface (GUI) operating systems, such as the Windows Console ...


2 Answers

Here's a quick example of what can be done... obviously, adjust paths to your liking and there are a few other ways:

Preview:

enter image description here

Code:

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

This was a quick setup and many things can be and should be adjusted (exception handling, etc., etc., etc.). It should get you started, though.

like image 82
B.K. Avatar answered Sep 21 '22 12:09

B.K.


You can start another process using the Process.Start() call. Take a look here for examples

like image 42
Thomas Avatar answered Sep 20 '22 12:09

Thomas