• Viernes 8 de Noviembre de 2024, 12:59

Autor Tema:  'comunicacion' Entre Exe!!¿¿??  (Leído 1527 veces)

none123

  • Miembro activo
  • **
  • Mensajes: 83
    • Ver Perfil
'comunicacion' Entre Exe!!¿¿??
« en: Lunes 28 de Febrero de 2005, 04:03 »
0
Bueno mi duda es la siguiente:
Creo q se puede hacer q dos o mas aplicaciones se comuniquen entre si; avisandoles q ya termino de hace algo o simplemente pasandose informacion de una a otra; pero mi opregunta es como hacerlo!!!????
Si alguien sabe.... seria bueno el codigo y una explicacion de ejemplo! si no es mucho pedir jaja

lao.torres

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Re: 'comunicacion' Entre Exe!!¿¿??
« Respuesta #1 en: Martes 15 de Marzo de 2005, 03:25 »
0
La respuesta esta en el Shell...  ahi te va un ejemplo para que abras una aplicacion y termine en cuanto la cierres.

Declare Function OpenProcess Lib "Kernel32" (ByVal dwDesiredAccess as Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode as Long) As Long

Const STILL_ACTIVE  = &H103
Const PROCESS_QUERY_INFORMATION = &H400


La primera OpenProcess, abre un proceso y nos devuelve un identificador valido para poder consultar su estado posteriormente.  La segunda GetExitCodeProcess, obtiene informaicon de un proceso.  Si el valor devuelto por esta segunda funcion es la constante STILL_ACTIVE, quiere decir que el proceso sigue activo.  

Sub Ejecutar(Aplicacion AS STring)

DIM hProceso as Long
Dim Activa as Long
Dim ret as Long

hProceso = OpenProcess(PROCESS_QUERY_INFORMATION, 0, Shell(Aplicacion,1)

Do ret = Get ExitCodeProcess(hProceso, Activa)

DoEvents
Loop While Activa = STILL_ACTIVE

End Sub

Si un form pones un boton que diga "ejecutar", agregale esto:

Private Sub cmdEjecutar_Click()
Ejecutar Trim(txtAplication)
MsgBox "Listo!  Ya termino la aplicacion ejecutada"

EndSub

Tienes que tener un form con un textbox que se llama txtAplicacion en donde tu puedes abrir la aplicacion que quieres.  OJO:  tiene que ser algo.EXE  oki?

Espero te sirva !