2010-08-16 18 views
7

Tengo que ejecutar una aplicación de consola desde mi aplicación de Windows. La aplicación de consola Quiero correr es un recurso incrustado en mi solicitud, y yo estoy llamando así:La ventana de la consola sigue apareciendo incluso después de ProcessWindowStyle.Hidden;

// Run the updater and grab its output 
Process Updater = new Process(); 
Updater.StartInfo.FileName = "C:\\tmp\\tmp.exe"; 
Updater.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
Updater.StartInfo.UseShellExecute = false; 
Updater.StartInfo.RedirectStandardOutput = true; 
Updater.Start(); 
string UpdaterOutput = Updater.StandardOutput.ReadToEnd(); 
Updater.WaitForExit(); 

Extrae bien, y funciona muy bien, y también agarra su salida completamente bien ... pero todavía puedo ver la Ventana de la consola abrirse rápidamente mientras se ejecuta. Sé que la consola emergente es de esta aplicación porque el título de la consola es C:\tmp\tmp.exe. ¿Hay alguna forma completamente a prueba de fallas para ocultar la aplicación de la consola? Pensé que usar ProcessWindowStyle.Hidden lo haría pero aparentemente no.

Gracias.

+0

se conteste a esta pregunta, por favor cerrar el hilo. –

+0

@ Hans Passant: ¿Se puede aceptar mi respuesta si he alcanzado el límite de rep para ese día? – fletcher

+1

@fletch: seguro, sin límite en los puntos de marca de respuesta. –

Respuesta

16

Conjunto del ProcessStartInfo.CreateNoWindow propiedad a true

+0

Ah, lo había usado antes, pero no creía que hiciera una diferencia cuando usaba 'ProcessWindowStyle.Hidden'. Y necesitaba establecerlo en verdadero, no falso. ¡Muchas gracias! :) – Kratz

+1

Sí, se está haciendo tarde aquí. Lo eché a perder, doble negativos ... – fletcher

+0

¿Eso es así o en lugar de? – barlop

Cuestiones relacionadas