Hoy revisando el foro de los DotNetClubs, me he encontrado con una pregunta de un compañero de Madrid. La cuestión no es muy difícil ni rebuscada pero suelen estas cosas en las que más se pierde el tiempo cuando estas programando y como seguro si una persona lo ha preguntado hay por lo menos otras 20 que les pasa lo mismo he decidido dejarlo por aquí apuntado y que el dihos Google lo indexe [:D].

Básicamente lo que se preguntaba era como poder arrancar dos ejecutables a la vez al arrancar la primera o bien ejecutarla en un momento determinado.

Bueno pues bien tal como yo lo veo existen dos posibilidades, por un lado tienes tus dos proyectos dentro de la misma solución en el Visual Studio, en este caso deberíamos agregar una referencia en el proyecto que se encuentre establecido como principal del segundo proyecto. Esto se haría de la siguiente manera:

 

image

Pulsamos sobre References (referencias) con el botón derecho y pulsamos en Add references (Añadir referencias),

image

luego aparece una ventana en la que iremos a la pestaña Projects (Proyectos) donde vemos los proyectos contenidos en la solución,

image

Finalmente en la primera aplicación donde más queramos (en algún evento de botón, timer o cualquier sitio) nos creamos un objeto del tipo del segundo proyecto y ya podemos utilizar ese segundo programa a la vez que el primero. En mi caso los proyectos son de WPF y las dos líneas de código son las siguientes:

WpfApplication2.Window1 segundoproyecto = new WpfApplication2.Window1();
segundoproyecto.Show();

Esto nos viene bien si los programas que queremos ejecutar a la vez las estamos programando nosotros y están dentro de la misma solución, pero si lo que queremos hacer es ejecutar una aplicación completamente externa como un comando del sistema o ejecutar algún archivo como un pdf, word o un excel la instrucción que deberíamos utilizar es la siguiente:

System.Diagnostics.Process.Start(path);

donde path sería la ubicación del archivo o programa.

Bueno, esto es todo por hoy.

Saludetes[H]