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.
-
Lots of posts. The console only supports 8-bit character encodings. Technically you can switch the Console.OutputEncoding to utf8. That is not going to look good if you ever run it without redirection. Using a file instead would be a good idea.Hans Passant– Hans Passant2011-06-29 00:07:11 +00:00Commented Jun 29, 2011 at 0:07
6 Answers
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();
Comments
Check out Process.Start():
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.
Comments
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().
Comments
Take a look at the Process class. You can call any executable using Process.Start("myexe.exe");
Comments
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"