WPF: Aplicaciones con dos ventanas - DotNetClubs
en

DotNetClubs

Comunidades de estudiantes entusiastas de la tecnología

WPF: Aplicaciones con dos ventanas

Último artículo 05-04-2008 22:52 escrito por Csar. 6 respuestas.
Página 1 de 1 (7 elementos)
Ordenar mensajes: Anterior Siguiente
  • 04-14-2008 19:51

    • Onir
    • Contribuyente Top 50
    • Se unió el 12-24-2006
    • Madrid
    • Envíos: 23
    • Puntos: 190
    • DotNetClub_Miembros

    WPF: Aplicaciones con dos ventanas

     Hola,

     En una solución que estoy desarollando tengo dos proyectos dentro de ella. Cada uno de ellos son aplicaciones independientes en WPF que se pueden ejecutar por separado; sin embargo, me gustaría arrancar una de ellas y luego desde dentro lanzar una nueva ventana con la otra aplicación. 

     ¿Alguna idea por dónde tirar? Lo que hago ahora es muy cutre, con un .bat ejecuto primero una y al cerrarla cargo la otra :D

    Saludos 

    José Ángel Fernández

    Coordinador DotNetClub
    Universidad Politécnica de Madrid
    • Puntos de post: 20
  • 04-15-2008 22:48
    [ Marcado como respuesta ]
    en respuesta a

    • Csar
    • Contribuyente Top 10
    • Se unió el 07-31-2006
    • Albacete - Spain
    • Envíos: 101
    • Puntos: 620
    • DotNetClub_Coordinadores
      DotNetClub_Miembros

    Re: WPF: Aplicaciones con dos ventanas

    Answer

     Hola José Angel,

     si no lo he entendido mal haría lo siguiente, al proyecto principal le agrego una referencia al segundo, ya sabes pulsas en "References" del proyecto principal, luego "Add Reference" y en la ventana que aparece pulsas en "Projects", allí seleccionas tu segundo proyecto y pulsas en OK.

    Después de esto simplemente añades por ejemplo un botón o te creas un timer que lance el segundo programa o algo así. creas una nueva instancia del tipo del programa que quieres arrancar y ya está.

    Yo tengo dos proyectos WpfApplication1 y WpfApplication2,  en la primera ventana añado un botón y en el evento click el siguiente código: 

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

    Con esto lanzas la segundo aplicación.

     Otra forma un poco más cutrecilla creo yo es lanzar directamente un programa externo mediante la siguiente instrucción:

                System.Diagnostics.Process.Start(path);

    donde path es la ubicación del ejecutable externo.

     

    Espero que sea esto lo que buscabas y en ese caso te sirva de ayuda.

    SaludetesCool 

    César Reneses
    http://labloguera.net/blogs/csharp
    Coordinador Albacete DotNetClub
    • Puntos de post: 20
  • 04-15-2008 23:36 en respuesta a

    • Onir
    • Contribuyente Top 50
    • Se unió el 12-24-2006
    • Madrid
    • Envíos: 23
    • Puntos: 190
    • DotNetClub_Miembros

    Re: WPF: Aplicaciones con dos ventanas

     Hola,

     Había añadido la referencia al otro proyecto pero no sabía cómo llamar a la otra ventana para arrancarla :)

    Mañana lo pruebo y te comento.

    Gracias

    José Ángel Fernández

    Coordinador DotNetClub
    Universidad Politécnica de Madrid
    • Puntos de post: 5
  • 04-27-2008 18:03 en respuesta a

    • Onir
    • Contribuyente Top 50
    • Se unió el 12-24-2006
    • Madrid
    • Envíos: 23
    • Puntos: 190
    • DotNetClub_Miembros

    Re: WPF: Aplicaciones con dos ventanas

    Perfecto, era lo que buscaba :)

    José Ángel Fernández

    Coordinador DotNetClub
    Universidad Politécnica de Madrid
    • Puntos de post: 5
  • 05-03-2008 14:26 en respuesta a

    • Onir
    • Contribuyente Top 50
    • Se unió el 12-24-2006
    • Madrid
    • Envíos: 23
    • Puntos: 190
    • DotNetClub_Miembros

    Re: WPF: Aplicaciones con dos ventanas

     Una pregunta más al hilo de la conversación...

     Si inicias un programa mediante System.Diagnostics.Process.Start(path); ¿Luego es posible detenerlo? 

    José Ángel Fernández

    Coordinador DotNetClub
    Universidad Politécnica de Madrid
    • Puntos de post: 5
  • 05-03-2008 15:19 en respuesta a

    • Onir
    • Contribuyente Top 50
    • Se unió el 12-24-2006
    • Madrid
    • Envíos: 23
    • Puntos: 190
    • DotNetClub_Miembros

    Re: WPF: Aplicaciones con dos ventanas

     O detectar si ya se está ejecutando para no lanzarlo :)

     

    p.D: No me dejaba editar el anterior :( 

    José Ángel Fernández

    Coordinador DotNetClub
    Universidad Politécnica de Madrid
    • Puntos de post: 20
  • 05-04-2008 22:52
    [ Marcado como respuesta ]
    en respuesta a

    • Csar
    • Contribuyente Top 10
    • Se unió el 07-31-2006
    • Albacete - Spain
    • Envíos: 101
    • Puntos: 620
    • DotNetClub_Coordinadores
      DotNetClub_Miembros

    Re: WPF: Aplicaciones con dos ventanas

    Answer

    Si, si es posible detenerlo. Tienes que lanzar primero el comando taskill y darle como argumento el nombre del ejecutable.

    Yo lo haría de la siguiente forma:

                System.Diagnostics.Process.Start("taskkill", "/IM " + proceso.exe); 

    En cuanto a ver si el proceso se está ejecutando para no lanzarlo como siempre hay dos formas, la chapucera o poco elegante que sería sabiendo el nombre del proceso ejecutar la instrucción anterior, si está ejecutandose parar el proceso y si no, no hace nada.

    Luego tenemos la forma elegante o por lo menos me parece menos burra :D

                foreach (System.Diagnostics.Process proc in System.Diagnostics.Process.GetProcesses())
                {
                    if (proc.ProcessName == nombre_proceso)
                        System.Diagnostics.Process.Start("taskkill", "/IM " + proceso.exe);                
                }

     Eso si en el primer ejempo le paso el nombre del archivo con extensión ya que supongo que lo he lanzado yo.

    Sin embargo en el segundo bloque cuando inicio la busqueda le indico solamente el nombre del proceso y luego una vez lo encuentra el nombre del ejecutable para que pueda cerrarlo.

    No se si te lo he dejado claro o te he liado un poco pero bueno cualquier cosilla dímela que intentaré aclararla.

     

    Saludetes Cool 

    César Reneses
    http://labloguera.net/blogs/csharp
    Coordinador Albacete DotNetClub
    • Puntos de post: 5
Página 1 de 1 (7 elementos)
(c) DotNetClubs 2008
Ofrecido por Community Server (Commercial Edition)