Sajad Bahmani
Sajad Bahmani

Reputation: 17469

run console application in C# with parameters

How can I run a console application in C#, passing parameters to it, and get the result of the application in Unicode? Console.WriteLine is used in the console application. Important point is write Unicode in Console Application.

Upvotes: 15

Views: 57197

Answers (6)

Amay Kulkarni
Amay Kulkarni

Reputation: 838

try with below code, here "Amay" is a argument.

 System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(@"E:\\ConsoleApplicationt\bin\Debug\ConsoleApplicationt.exe", "Amay");

 System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);

Upvotes: 5

Justin Niessner
Justin Niessner

Reputation: 245489

Check out Process.Start():

MSDN - Process.Start Method

Your code will probably look something like:

var process = Process.Start(pathToProgram, argsString);

process.WaitForExit();

var exitCode = process.ExitCode;

If by "result of the console application" you mean any output of the program to the console while it runs...you'll need to look at the documentation and figure out how to redirect the output of the program from the console to another stream.

Upvotes: 5

csharptest.net
csharptest.net

Reputation: 64248

You should be careful depending upon your use some of the other examples can have issues. For common mistakes made writing your own code, read "How to use System.Diagnostics.Process correctly"

For a library to use, there is one here: http://csharptest.net/browse/src/Library/Processes with a brief usage guide: "Using the ProcessRunner class"

Upvotes: 1

Jakub Šturc
Jakub Šturc

Reputation: 35787

Sample from MSDN

 // Start the child process.
 Process p = new Process();
 // Redirect the output stream of the child process.
 p.StartInfo.UseShellExecute = false;
 p.StartInfo.RedirectStandardOutput = true;
 p.StartInfo.FileName = "Write500Lines.exe";
 p.Start();
 // Do not wait for the child process to exit before
 // reading to the end of its redirected stream.
 // p.WaitForExit();
 // Read the output stream first and then wait.
 string output = p.StandardOutput.ReadToEnd();
 p.WaitForExit();

Upvotes: 20

Piotr Perak
Piotr Perak

Reputation: 11118

Here http://www.aspcode.net/ProcessStart-and-redirect-standard-output.aspx You can see how to read the output from the console app You start with Process.Start().

Upvotes: 3

eulerfx
eulerfx

Reputation: 37749

Take a look at the Process class. You can call any executable using Process.Start("myexe.exe");

Upvotes: 1

Related Questions