Mahmood Dehghan
Mahmood Dehghan

Reputation: 8265

C# Run console application from another app in a new console window

The second app is a console application and I want to see it's output window.

I know how to use Process.Start() but it doesn't show the console window for the app. This is what I have tried:

Process.Start("MyApp.exe", "arg1 arg2");

So how to do it?

Upvotes: 0

Views: 2192

Answers (2)

Mario The Spoon
Mario The Spoon

Reputation: 4869

Perhaps this helps:

ProcessStartInfo info = new ProcessStartInfo(fileName, arg); 
info.CreateNoWindow = false;
info.UseShellExecute = true;
Process processChild = Process.Start(info);

Upvotes: 2

Mahmood Dehghan
Mahmood Dehghan

Reputation: 8265

I figured it out. I have to run cmd command with /k argument (to keep the console window open) and then my whole command-line:

var command = "MyApp.exe arg1 arg2";
ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd", "/k " + command);
processStartInfo.UseShellExecute = false;
Process process = new Process();
process.StartInfo = processStartInfo;
process.Start();
//In case you need the output. But you have to wait enough for the output
//string text = process.StandardOutput.ReadToEnd();

Upvotes: 0

Related Questions