none
Cómo llamar una aplicación desde otra aplicación. RRS feed

  • Pregunta

  • Hola amigos del foro:

    Tengo dos aplicaciones aplicacionA.exe y aplicacionB.exe. Quiero ejecutar primero aplicacionA.exe y esta va a llamar a la aplicacionB.exe. Lo que quiero es que al llamar a la aplicacionB.exe, la aplicacionA.exe termine de ejecutarse. ¿Es posible esto?

    Gracias.

    jueves, 11 de octubre de 2012 16:24

Respuestas

  • Hola:

    Creo que podrías usar el método "shell". Vamos con un ejemplo:

    Posiblemente tengas que ajustar algún parámetro, igual que no se si quieres un mensaje de confirmación de cierre. Bueno, míratelo a ver si es eso lo que necesitas. también corrige el path o ruta de la aplicaciónB.

       Private Sub frmAplicacionA_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            If MessageBox.Show("¿Desea realmente abandonar la aplicación?", "CIERRE APLICACIÓN", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Call CerrarAplicación()
                End
            Else
                e.Cancel = True
            End If
        End Sub
    
        Private Sub CerrarAplicación()
            For i As Integer = My.Application.OpenForms.Count - 1 To 0 Step -1
                If My.Application.OpenForms.Item(i) IsNot Me Then
                    My.Application.OpenForms.Item(i).Close()
                End If
            Next i
        End Sub
    
      
        Private Sub btnAplicacionB_Click(sender As System.Object, e As System.EventArgs) Handles btnAplicacionB.Click
            Dim Proceso As New Process()
            Proceso.StartInfo.FileName = "AplicacionB.exe" 'Ruta de la aplicaciónB
            Proceso.StartInfo.Arguments = ""
            Proceso.Start()
            call CerrarAplicación
        End Sub

    Un saludo.

    Gemma

    • Marcado como respuesta Carlos Cuenta jueves, 11 de octubre de 2012 17:20
    jueves, 11 de octubre de 2012 17:12

Todas las respuestas

  • Hola:

    Creo que podrías usar el método "shell". Vamos con un ejemplo:

    Posiblemente tengas que ajustar algún parámetro, igual que no se si quieres un mensaje de confirmación de cierre. Bueno, míratelo a ver si es eso lo que necesitas. también corrige el path o ruta de la aplicaciónB.

       Private Sub frmAplicacionA_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            If MessageBox.Show("¿Desea realmente abandonar la aplicación?", "CIERRE APLICACIÓN", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Call CerrarAplicación()
                End
            Else
                e.Cancel = True
            End If
        End Sub
    
        Private Sub CerrarAplicación()
            For i As Integer = My.Application.OpenForms.Count - 1 To 0 Step -1
                If My.Application.OpenForms.Item(i) IsNot Me Then
                    My.Application.OpenForms.Item(i).Close()
                End If
            Next i
        End Sub
    
      
        Private Sub btnAplicacionB_Click(sender As System.Object, e As System.EventArgs) Handles btnAplicacionB.Click
            Dim Proceso As New Process()
            Proceso.StartInfo.FileName = "AplicacionB.exe" 'Ruta de la aplicaciónB
            Proceso.StartInfo.Arguments = ""
            Proceso.Start()
            call CerrarAplicación
        End Sub

    Un saludo.

    Gemma

    • Marcado como respuesta Carlos Cuenta jueves, 11 de octubre de 2012 17:20
    jueves, 11 de octubre de 2012 17:12
  •  Saludos Gemma, tu codigo va a ser de mucha utilidad,

    Muchas gracias por tu tiempo.

    jueves, 11 de octubre de 2012 17:21
  • pero no sria muchisimo mas directo si usaras

    Process.Start("AplicacionB.exe")
    
    Application.Exit()


    listo eso es todo dos lineas la primer lanza la aplciacion B la segunda cierra la aplicacion A

    si necesita argumentos podrias al process pasarselos sino es directo como lo muestro alli

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 12 de octubre de 2012 3:06