Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: EnigmaX en Enero 22, 2011, 09:31:12 pm
-
Por favor que alguien me ayude.
Alguien tiene un source de extraer la lista de contactos en el msn, 2009, 2010 y 2011?
He encontrado este código pero no funciona en MSN actualizado.
Option Explicit
'---------------------------------------------------------------------------------------
' Module : mMSNContacts
' DateTime : 29/09/2009 13:32
' Author : Skyweb07
' Mail : skyweb09@hotmail.es
' Purpose : Retrieve MSN Contact list
' Usage : At your own risk
' Requirements: Messenger API Type Library
'---------------------------------------------------------------------------------------
Dim hAPI As MessengerAPI.Messenger
Public Function Get_MSN_Contact_List(hReturn() As String, Save_List As Boolean, Optional hPath As String) As Long
On Error GoTo Error:
Dim hContacts As IMessengerContact
Dim hCount As Long
Dim hList As String
Set hAPI = New MessengerAPI.Messenger
For Each hContacts In hAPI.MyContacts
ReDim Preserve hReturn(0 To hCount)
hReturn(hCount) = hContacts.SigninName
hCount = hCount + 1: Get_MSN_Contact_List = hCount
hList = hList & vbNewLine & hContacts.SigninName
Next
If Save_List = True Then
If hPath <> vbNullString Then
Open hPath For Binary As #1
Put #1, , hList
Close #1
End If
End If
Exit Function:
Error: Debug.Print "MSN Messenger isn't installed or session is not started."
End Function
Well guys here how a simple example will get msn contacts with api. The only requirement is that you have installed the msn (obviously) and have the session started on the local computer. When the MSN is not installed error does not function simply returns 0. Here is an example of how to use it.
Dim hContacts() As String
Dim i As Long
If Get_MSN_Contact_List(hContacts, False, vbNullString) Then ' This is for Get the Contact list in a Array
For i = 0 To UBound(hContacts)
Debug.Print hContacts(i)
Next i
End If
'-------------------------------------------------------------------------------------------------------------
Call Get_MSN_Contact_List(hContacts, True, App.Path & "Contacts.txt") ' And this is for save contacts list in a file
Saludos a todos, un foro muy bueno Leandro.
[]'s
-
Yo uso el LiveContactsView v1.10 (http://www.nirsoft.net/utils/live_messenger_contacts.html) para leer el archivo "contacts.edb" de la lista guardada (que se puede leer textualmente, pero no hay un patron especifico y los mails se repiten constantemente). A travez del vb lo llamo para que exporte a archivo separado por coma y solo obtengo el primer campo con un bucle :)
-
Gracias por responder raul. Yo ya sabía de este programa, pero estoy buscando alguna fuente en vb6 que trabaja en el msn actualizado.
Vi en la web con un SendKeys que guarda la lista, pero es una solución muy feo.
Algo más en el sombrero?
Leandro tem algo parecido nos projetos ?
[]'s
-
Y yo empeze un proyectito que hacia eso para mi, pero lo deje a la mitad, si lo termino lo posteo. Ademas que te guardaba mas opciones (emoticones, fondos, etc) a un zip (que.. .anda mas o menos xD XD)
Vi en la web con un SendKeys que guarda la lista, pero es una solución muy feo.
Eso ya no funciona a partir de una version de la 2009 porque borraron la opcion (Y agregaron de que no se pueden agregar a mas de 4 contactos por dia, o eso lei por ahi)
-
Añade las referencias del Messenger API Type Library, luego
Public Sub MSN()
Dim pMessenger As MessengerAPI.Messenger
Dim pContacts As IMessengerContact
Set pMessenger = New MessengerAPI.Messenger
For Each pContacts In pMessenger.MyContacts
debug.print pContacts.SigninName
Next
End Sub
Si quieres que funcione con todas las versiones del messenger después de la 8.0 tienes que compilarlo con esa version del messenger instalada sino va a usar las referencias de la nueva verisón y no va a funcionar con las antiguas versiones del messenger ;)
-
Uno puede probar esta nueva en el msn, porque aquí no funciona. :S
[]'s
-
Debe ser que no sabes añadir las referencias del Messenger API Type Library porque a mi me funciona en todas las versiones del messenger despues de la 8.0+