¿Cómo comunicar por mensajes dos aplicaciones?
Hola, buenos días. Espero alguien me de una solución buena para este caso. Resulta que tengo dos aplicaciones en un mismo equipo. Una aplicación "LOGIN" que se ejecuta todo el tiempo residente, y una aplicación "GESTION" que se ejecuta de vez en cuando.
Quiero hacer que cuando "GESTION" se ejecute, mande un mensaje a "LOGIN" para que ésta haga cierta cosa con un dispositivo. Una vez que "GESTION" acabe su trabajo, mandará otro mensaje a "LOGIN" para que LOGIN siga su curso normal.
¿Alguien me puede orientar sobre qué tipo de mensaje debería mandar? Gracias de antemano.
Quiero hacer que cuando "GESTION" se ejecute, mande un mensaje a "LOGIN" para que ésta haga cierta cosa con un dispositivo. Una vez que "GESTION" acabe su trabajo, mandará otro mensaje a "LOGIN" para que LOGIN siga su curso normal.
¿Alguien me puede orientar sobre qué tipo de mensaje debería mandar? Gracias de antemano.
En la aplicación GESTION:
Al cargar el form principal de la aplicación GESTION se podría mandar un mensaje al
Clipboard:
Private Sub Form_Load()
' Borrar lo que tenga el Clipboard
Clipboard.Clear
'Mandar el mensaje Para que LOGIN haga cierta cosa con un dispositivo
Clipboard.SetText "@CLAVE1"
End Sub
En el programa LOGIN pones un TIMER con un intervalo de 1ms o más (eso tú verás) para que haga lectura,
si hay datos tipo texto (vbCFText), del Clipboard. Si la lectura coincide con el mensaje enviado desde GESTION
que es @CLAVE1 pues el programa LOGIN que actue en consecuencia.
En LOGIN:
Private Sub Timer1_Timer()
Dim sTemp As String
If clipboard.GetFormat(vbCFText) Then
sTemp = clipboard.GetText(vbCFText)
If InStr(1, sTemp, "@CLAVE1") Then
clipboard.Clear
MsgBox "Hacer algo con el Dispositivo"
End If
If InStr(1, sTemp, "@CLAVE2") Then
clipboard.Clear
MsgBox "Hacer otra cosa"
End If
End If
End Sub
Ya me dirás si te puede servir o dar alguba pista. Saludos.
Al cargar el form principal de la aplicación GESTION se podría mandar un mensaje al
Clipboard:
Private Sub Form_Load()
' Borrar lo que tenga el Clipboard
Clipboard.Clear
'Mandar el mensaje Para que LOGIN haga cierta cosa con un dispositivo
Clipboard.SetText "@CLAVE1"
End Sub
En el programa LOGIN pones un TIMER con un intervalo de 1ms o más (eso tú verás) para que haga lectura,
si hay datos tipo texto (vbCFText), del Clipboard. Si la lectura coincide con el mensaje enviado desde GESTION
que es @CLAVE1 pues el programa LOGIN que actue en consecuencia.
En LOGIN:
Private Sub Timer1_Timer()
Dim sTemp As String
If clipboard.GetFormat(vbCFText) Then
sTemp = clipboard.GetText(vbCFText)
If InStr(1, sTemp, "@CLAVE1") Then
clipboard.Clear
MsgBox "Hacer algo con el Dispositivo"
End If
If InStr(1, sTemp, "@CLAVE2") Then
clipboard.Clear
MsgBox "Hacer otra cosa"
End If
End If
End Sub
Ya me dirás si te puede servir o dar alguba pista. Saludos.