Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: Bazooka en Junio 29, 2012, 04:32:19 pm

Título: Como cierro un ejecutable mio desde otro en ejcución
Publicado por: Bazooka en Junio 29, 2012, 04:32:19 pm
Hola, estoy dotando a una aplicacion de una forma de actualización y cuando el usuario selecciona la opcion del mneu Buscar Actualización se habre un exe externo que se encarga de esta accion!, ahora bien si existe actualización quisiera cerrar la aplicación principal desde el actualizador .. como hago esto?

Gracias
Título: Re:Como cierro un ejecutable mio desde otro en ejcución
Publicado por: ssccaann43 en Junio 29, 2012, 05:25:57 pm
Mata el proceso che...! Y ya...!
Título: Re:Como cierro un ejecutable mio desde otro en ejcución
Publicado por: Bazooka en Junio 29, 2012, 06:18:40 pm
Mata el proceso che...! Y ya...!

Pues nunca me tope con eso ! he visto si que hay una forma de comunicacion entre ejecutables pero no se que es lo mas eficiente para este caso?

Título: Re:Como cierro un ejecutable mio desde otro en ejcución
Publicado por: ssccaann43 en Junio 29, 2012, 06:55:15 pm
Revisa esto hermano mio...

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/14.htm
Título: Re:Como cierro un ejecutable mio desde otro en ejcución
Publicado por: Bazooka en Junio 29, 2012, 07:07:32 pm
buenisimo!!! ssccaann!! eso es lo que necesitaba
Título: Re:Como cierro un ejecutable mio desde otro en ejcución
Publicado por: E N T E R en Junio 29, 2012, 07:21:53 pm
Código: (VB) [Seleccionar]
Private Sub Command1_Click()
    KillProcess ("Nombre_Del_Programa_que_se_quiere_cerrar.exe")
End Sub

Public Sub KillProcess(ByVal processName As String)
On Error GoTo ErrHandler
    Dim oWMI
    Dim ret
    Dim sService
    Dim oWMIServices
    Dim oWMIService
    Dim oServices
    Dim oService
    Dim servicename

    Set oWMI = GetObject("winmgmts:")
    Set oServices = oWMI.InstancesOf("win32_process")

    For Each oService In oServices
        servicename = LCase(Trim(CStr(oService.Name) & ""))

        If InStr(1, servicename, LCase(processName), vbTextCompare) > 0 Then
            ret = oService.Terminate
        End If
    Next

    Set oServices = Nothing
    Set oWMI = Nothing
    Exit Sub
ErrHandler:
    Err.Clear
End Sub
Título: Re:Como cierro un ejecutable mio desde otro en ejcución
Publicado por: seba123neo en Junio 30, 2012, 01:12:52 am
yo no lo mataria asi a secas, sino que me comunicaria con el programa de forma normal, a traves de un comando, por ahi tambien hay una forma de comunicarse entre aplicaciones.
Título: Re:Como cierro un ejecutable mio desde otro en ejcución
Publicado por: Asr Software en Julio 11, 2012, 08:52:37 am
mira esto es una forma de hacerlo en VB script, lo puedes hacer en VB 6 que fucniona, de hecho el ejemplo esta en así, o lo montas en un bloc de notas y le cambias la extensión a vbs, y funciona igual.
En este ejemplo lo que hago es evitar que inicien este proceso llamado smrss.EXE, es util para que no te puedan abrir algo que no quieres, lo unico que tienes que saber el nombre del proceso que por esta misma via se sabe, solo modifica el codigo.

Private Sub form_load()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _
    ExecNotificationQuery("select * from __instancecreationevent " _
        & " within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
    Set objLatestProcess = colMonitoredProcesses.NextEvent
    If objLatestProcess.TargetInstance.Name = "smrss.EXE" Then
    objLatestProcess.TargetInstance.Terminate
    End If
Loop

End Sub
Título: Re:Como cierro un ejecutable mio desde otro en ejcución
Publicado por: 79137913 en Julio 11, 2012, 10:36:09 am
HOLA!!!

Para mi pone un boton invisible en el programa que vas a cerrar y dentro de el el codigo para que se cierre correctamente, luego lo clickeas del otro programa con sendmessage

GRACIAS POR LEER!!!
Título: Re:Como cierro un ejecutable mio desde otro en ejcución
Publicado por: YAcosta en Julio 11, 2012, 12:27:18 pm
HOLA!!!

Para mi pone un boton invisible en el programa que vas a cerrar y dentro de el el codigo para que se cierre correctamente, luego lo clickeas del otro programa con sendmessage

GRACIAS POR LEER!!!

Que buena idea!!!