Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/04/2010, 04:11
daimroc
 
Fecha de Ingreso: octubre-2006
Mensajes: 53
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Ejecutar programa de línea de comandos (ms-dos)

Bueno, he conseguido ejecutar un programa, en concreto el flac (compresor de audio), del modo siguiente:

Process pProcess = new System.Diagnostics.Process();
pProcess.StartInfo.FileName = "flac.exe";
pProcess.StartInfo.Arguments = "-d \"01.flac\"";
pProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
pProcess.StartInfo.UseShellExecute = false;
pProcess.StartInfo.RedirectStandardOutput = true;
pProcess.StartInfo.CreateNoWindow = true;
pProcess.Start();
pProcess.Wait*****it();

// Display returned console information if any
StreamReader srOut = pProcess.StandardOutput;
//rtx_Mensajes.Text = srOut.ReadToEnd();
rtx_Mensajes.AppendText(srOut.ReadToEnd());
srOut.Close();



En un richtexbox, guardo la salida del programa. Bien, aquí está el problema.

Si simplemente ejecuto el flac, sin argumentos, sale una ayuda básica para indicar cómo se usa el programa. Esto se guarda correctamente en el richtextbox.

Esto es lo mismo que obtengo si en línea de comandos hago lo siguiente:

flac >texto.txt

En el txt se guarda lo mismo que en textbox.

Sin embargo, si utilizo argumentos, para descomprimir, como indico en el ejemplo, no se guarda nada en el textbox. Yo quiero ver el progreso de la compresión y los mensajes tras finalizar el proceso. Es decir, quiero ver en el textbox lo mismo que se está viendo por consola, en tiempo real, el progeso del proceso.

Además, si hago en consola de comandos lo siguiente:

flac -d 01.flac >texto.txt

tampoco se guarda nada en el fichero de texto.

¿Alguien sabe cómo puede ver en el textbox el texto de la consola de comandos cuando utilizo parámetros?.



Muchas gracias.
Daimroc.