Este es el code q pongo como ejemplo para entiendan mis dudas:
Tiene:
1 Timer: Timer1
2 TextBox: Text1 y Text2
***Codigo del modulo:
Código:
Option Explicit
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Function EstaCargado(NombreClase As String) As Boolean
EstaCargado = (FindWindow(NombreClase, vbNullString) <> 0)
End Function
***Codigo del form:
Código:
Option Explicit
Public WithEvents MSN As MessengerAPI.Messenger
Private Sub Form_Load()
Set MSN = New MessengerAPI.Messenger
End Sub
Private Sub Timer1_Timer()
'esto detecta si se a abierto el MSN
'lo q esta entre comillas es el nombre de clase del MSN
If EstaCargado("MSBLWindowClass") Then
If Online = True Then
Text1.Text = "MSN ONLINE"
End If
If Online = False Then
Text1.Text = "MSN OFFLINE"
End If
If ServerStatus = False Then
Text2.Text = "SERVER DESCONECTADO"
End If
If ServerStatus = True Then
Text2.Text = "SERVER CONECTADO"
End If
Else
Text1.Text = ""
Text2.Text = ""
End If
End Sub
Private Function ServerStatus() As Boolean
If MSN.MyStatus = MISTATUS_LOCAL_DISCONNECTING_FROM_SERVER Then
ServerStatus = False
End If
If MSN.MyStatus = MISTATUS_LOCAL_CONNECTING_TO_SERVER Then
ServerStatus = True
End If
End Function
Private Function Online() As Boolean
If MSN.MyStatus = MISTATUS_ONLINE Then
Online = True
End If
If MSN.MyStatus = MISTATUS_OFFLINE Then
Online = False
End If
End Function
Luego hago el .exe, lo ejecuto y ocurre lo sgte con el MSN
Si el MSN no esta en el systemtray, aparece y crea 2 entradas en el registro para q el MSN MESSENGER(msnmsgr.exe) y WINDOWS MESSENGER(msmsgs.exe) se inicien junto con WIN (ver esto en inicio del msconfig)...por q ocurre esto???, es por la instancia de la API del MSN???...se puede evitar esto???...me saber como
Cuando el MSN se esta conectando para iniciar sesion aparece en el Text2 "SERVER CONECTADO" pero despues de unos segundos aparace "SERVER DESCONECTADO" y el MSN entra en sesion...por q ocurre esto del SERVER???...si se supone q si esta en sesion deberia de seguir conectado al SERVER hasta q se cierre sesion...o no???
Cuando se agrega la referencia de la MESSENGER API TYPE LIBRARY, en la location sale esto:
C:\Archivos de Programa\Messenger\msmsgs.exe\3 (a mi me sale así)...q quiere decir esto??? acaso las referencias no eran a dlls???...por q el 3 despues del exe???...y si no tuviera el Windows Messenger en la PC q ejecuto mi APP como hago para tener las dll de referencia (MESSENGER API TYPE LIBRARY)en esa PC???...necesariamente tengo q instalar el Win Messeger o solo tendria q copiar el msmsgs.exe a la PC???...ya q de ahi hace la referencia segun location
Para q sirven:
MSN.MyStatus = MISTATUS_LOCAL_FINDING_SERVER y
MSN.MyStatus = MISTATUS_LOCAL_SYNCHRONIZING_WITH_SERVER
Lo q deseo es q mi app detecte cuando uno a entrado a su sesion del MSN asi este OFFLINE u otro estado (hay algunos q entran a su sesion pero se ponen de estado OFFLINE) asi q lo de los ESTADOS no me va a ayudar, mas bien podria utilizar lo del SERVER pero como digo sale CONECTADO cuando empiezan a girar los muñequitos (por decirlo asi) y unos segundos despues sale DESCONECTADO a pesar de q se inicia la sesion
Me podria ayudar lo del SERVER si aparece CONECTADO cuando entra en sesion y permance asi hasta q uno cierra su sesion y deberia aparecer como DESCONECTADO...acaso eso no es lo mas logico???
No habra por ahi alguna info q se me este escapando o q no la tenga???