Para dos aplicaciones hechas en visual podes hacer esto:
esa seria la aplicacion A, la aplicacion B tendria este code:
Si ejecutas B, entonces se utiliza la api findwindow para buscar una ventana que contiene el codigo que creamos con la api createwindowex en la aplicacion A.
si es para observar otras aplicaciones podes utilizar la misma api findwindow para buscar por el titulo de la ventana que contiene la aplicacion, o utilizas la api getclassname para mirar si la clase en una aplicacion esta activa.
que te sirva y saludos
Código (vb) [Seleccionar]
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Sub Form_Load()
CreateWindowEx 0&, "STATIC", "CADENAAA QUE IDENTIFIQUE EL FORM", 0&, 0&, 0&, 0&, 0&, 0&, 0&, App.hInstance, 0&
End Sub
esa seria la aplicacion A, la aplicacion B tendria este code:
Código (vb) [Seleccionar]
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Form_Load()
If FindWindow(vbNullString, ByVal "CADENAAA QUE IDENTIFIQUE EL FORM") Then
MsgBox "La aplicacion A esta activa"
End If
End Sub
Si ejecutas B, entonces se utiliza la api findwindow para buscar una ventana que contiene el codigo que creamos con la api createwindowex en la aplicacion A.
si es para observar otras aplicaciones podes utilizar la misma api findwindow para buscar por el titulo de la ventana que contiene la aplicacion, o utilizas la api getclassname para mirar si la clase en una aplicacion esta activa.
que te sirva y saludos
