2011-06-28 107 views
6

¿Cómo puedo ejecutar una aplicación de consola en C#, pasarle parámetros y obtener el resultado de la aplicación en Unicode? Console.WriteLine se usa en la aplicación de la consola. Punto importante es escribir Unicode en la aplicación de consola.ejecutar la aplicación de consola en C# con los parámetros

+0

Muchas publicaciones. La consola solo admite codificaciones de caracteres de 8 bits. Técnicamente, puede cambiar Console.OutputEncoding a utf8. Eso no va a quedar bien si alguna vez lo ejecuta sin redirección. Usar un archivo en su lugar sería una buena idea. –

Respuesta

10

muestra de la 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(); 
4

Salida Process.Start():

MSDN - Process.Start Method

Su código será probablemente algo como:

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

process.WaitForExit(); 

var exitCode = process.ExitCode; 

Si por "resultado de la aplicación de consola" quiere decir cualquier salida del programa para el consola mientras se ejecuta ... tendrá que mirar la documentación y descubrir cómo redirigir la salida del programa desde la consola a otra transmisión.

1

Echa un vistazo a la clase Process. Puede llamar a cualquier ejecutable usando Process.Start ("myexe.exe");

3

tratar con continuación de código, aquí " Amay "es una discusión.

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

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