2009-12-02 13 views
5

Estoy comenzando una nueva instancia de una aplicación de consola desde mi código .NET usando el método Process.Start(). Me preguntaba si puedo especificar el título de la ventana de la consola que aloja el proceso generado. No se pudo encontrar nada adecuado en ProcessStartInfo.¿Cómo se puede especificar el título de la ventana para una aplicación de consola iniciada con System.Diagnostics.Process.Start()?

Como último recurso, puedo P/Invocar para hablar directamente con la API de Win32, pero prefiero no hacerlo.

¿Alguna idea?

Gracias.

Respuesta

2

Yo sé que suena como se conoce el P/Invoke forma de hacer esto, pero para nadie más esta es la forma de hacerlo

[DllImport("User32.dll")] 
public static extern bool SetWindowText(IntPtr hwnd, string title); 


SetWindowText(myProcess.MainWindowHandle, "my new title"); 
+0

De hecho, tan simple. Gracias. – mark

2

La manera más fácil que se me ocurre es crear un archivo por lotes que establezca el título (usando el comando de título) y luego ejecuta la aplicación. Luego, inicie el archivo .bat en su lugar.

+0

Gracias, interesante. ¿Significa que no hay forma en .NET? – mark

+0

Ninguna que yo sepa. –

Cuestiones relacionadas