Visual CSharp .NET - System.Diagnostics.Process.Start en windows service.

   
Vista:

System.Diagnostics.Process.Start en windows service.

Publicado por david benavides jdavidbendel@yahoo.com.mx (1 intervención) el 30/09/2011 23:37:23
Saludos a toda la comunidad.

Necesito su ayuda en lo siguiente:

Comienzo con esto: LO EJECUTA, PERO LA VENTANA DEL EJECUTABLE NO SE VE.

Necesito generar un servicio de windows para ejecutar un archivo exe (windows forms).
Ambos (servicio y ejecutable) están hechos en c#2010.

El problema es que el servicio no ejecuta (o despliega la ventana del exe) el exe. Estoy utilizando System.Diagnostics.Process.Start pero no funciona.

Este es mi código
System.Diagnostics.Process.Start(@"C:\MyReminder\MyReminder.exe");
File.Delete(@"C:\MyReminder\test.txt");

1. La segunda línea (el delete) la puse para validar que mi servicio SÍ se está ejecutando y efectivamente, se ejecuta pues el archivo es eliminado. Pero no despliega la ventana del ejecutable (primera línea).

2. La instrucción System.Diagnostics.Process.Start ya la había utilizado antes sin ningún problema. De hecho, si la ejecuto desde otro programita EJECUTA sin problemas mi archivo exe.

Entonces no sé porque el servicio no la despliega.

SU APOYO POR FAVOR.

Una pista para que me ayuden:

Las dos líneas de código que les mostré arriba las coloque dentro del evento de un timer que se ejecuta cada 10 segundos.

SI HAGO DEBUG AL PROYECTO DEL SERVICIO Y LO ASOCIO AL SERVICIO VEO QUE EN LA LISTA DE PROCESOS APARECE EL NOMBRE DE MI EJECUTABLE (EL QUE QUIERO EJECUTAR) MUCHAS VECES, LO CUAL QUIERE DECIR EL SERVICIO SÍ LO ESTÁ EJECUTANDO CADA 10 SEGUDOS. EL PROBLEMA ES QUE AL PARECER LO EJECUTA, PERO NO LO VISUALIZA.

GRACIAS!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

System.Diagnostics.Process.Start en windows service.

Publicado por gustavo gustavosinbandera@hotmail.com (1 intervención) el 24/11/2011 14:41:29
talvez tu aplicacion se esta lanzando pero de forma oculta, para eso tenemos otra manera de lanzar la aplicacion pero teniendo la posibilidad de cambiar algunas propiedades de la aplicacion antes de ser lanzada


ejemplo

Process programa = new Process();
ProcessStartInfo info = new ProcessStartInfo("notepad");
info.WindowStyle = ProcessWindowStyle.Minimized; //Iniciamos la aplicación minimizada
programa = Process.Start(info);
//Lanzamos nuestra aplicación utilizando nuestro objeto de tipo ProcessStartInfo


la linea info.WindowStyle = ProcessWindowStyle.Minimized; //Iniciamos la aplicación minimizada
recibe parametros como minimize hiden , normal etc

espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar