Título: ayuda api messenger????
Publicado por: leo17 en 26 Enero 2008, 18:28 pm
hola amigos, como puedo una vez creado el objeto messenger a traves de set msn = new messenger, si el usuario cierra esa instancia de el messenger yo enterarme ok. gracias
Título: Re: ayuda api messenger????
Publicado por: Hans el Topo en 26 Enero 2008, 22:38 pm
www.google.com
Título: Re: ayuda api messenger????
Publicado por: Lewert en 27 Enero 2008, 13:44 pm
Hay muy poca informacion en google y en toda la red sobre la API del Messenger en Visual Basic.
Título: Re: ayuda api messenger????
Publicado por: LixKeÜ en 27 Enero 2008, 18:42 pm
Pero que es lo que quieres hacer empezar a usar esa libreria o como incorporarlo ????? :huh:
Título: Re: ayuda api messenger????
Publicado por: leo17 en 29 Enero 2008, 22:46 pm
osea lo yo hago es crear una instancia del objeto con set msn = new messengerapi.messenger pero solo puedo usar las funciones mientras este este abierto.
Título: Re: ayuda api messenger????
Publicado por: Hans el Topo en 30 Enero 2008, 00:31 am
osea lo yo hago es crear una instancia del objeto con set msn = new messengerapi.messenger pero solo puedo usar las funciones mientras este este abierto.
concepto de programación básico estas creando un objeto que tiene x métodos, funciones, propiedades ... etc ... propios
Título: Re: ayuda api messenger????
Publicado por: Chefito en 31 Enero 2008, 18:19 pm
Bueno.....esto me ha costado algo :¬¬ . Aquí dejo un código realizado por mi para detectar la conexión, desconexión, cierre y apertura del msn. Lo he intentado dejar algo comentado. Si dudas en algo me lo dices. Espero que te sirva a ti y a quien le interese. Si veis errores o alguna mejora me lo comentais. Tampoco me he matado optimizandolo :P. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Dim Msn As Messenger Private Sub Form_Load() Set Msn = New Messenger Timer1.Interval = 500 End Sub
Private Sub Timer1_Timer() On Error GoTo CerrarMsn 'Esto ignora el error producido al cerrarse Static Desconectado As Boolean, Conectado As Boolean, VariableError As Boolean If Msn.MyStatus = MISTATUS_OFFLINE Then 'Te dice si esta desconectado Desconectado = False If Conectado = False Then Conectado = True MsgBox "Esta desconectado", vbCritical End If Else ' Te dice si estas conectado. Lo averigua comparando todos los estados posibles de conexion del Msn. If Msn.MyStatus = MISTATUS_AWAY Or Msn.MyStatus = MISTATUS_BE_RIGHT_BACK Or Msn.MyStatus = MISTATUS_BUSY Or Msn.MyStatus = MISTATUS_IDLE Or Msn.MyStatus = MISTATUS_INVISIBLE Or Msn.MyStatus = MISTATUS_ON_THE_PHONE Or Msn.MyStatus = MISTATUS_ONLINE Or Msn.MyStatus = MISTATUS_OUT_TO_LUNCH Then Conectado = False If Desconectado = False Then Desconectado = True MsgBox "Esta conectado", vbInformation End If End If End If VariableError = False Exit Sub CerrarMsn: 'Se introduce aqui cuando se produce un error. Este error se produce cuando cierras el Msn If VariableError = falso Then 'Te indica que el Msn se ha cerrado. Set Msn = Nothing 'Descargo el objeto, para poder cargarlo luego si se abre de nuevo, y así salga del error. VariableError = True Desconectado = False Conectado = False MsgBox "El messenger se ha cerrado", vbCritical Else Dim CargadoMsn As Long, MsnAbierto As Boolean CargadoMsn = FindWindow("msnhiddenwindowclass", vbNullString) 'Revisa si esta cagada la clase del Msn Live. If CargadoMsn <> 0 And MsnAbierto = False Then Set Msn = New Messenger 'Si esta la clase, carga de nuevo el objeto. Tambien te dice que se ha abierto el Msn MsgBox "El messenger se ha abierto", vbInformation MsnAbierto = True End If End If End Sub
Una última cosa. La clase que he puesto en la función FindWindow para detectar la apertura del msn es la de mi versión msn live 8.1 (supongo que valga para todas la Live). Si no es Live tendreis que poner la clase apropiada. Buscarla con el Spy++ del VB6. Saludos.
|