Para empezar debes tener el Windows Messenger instalado ya que es el que trae las librerias que se utilizan, yo tengo el Windows Messenger 5.0 y de Msn tengo el 7.0.0183
Ve al menu de Proyecto / Referencias y elige una llamada "Messenger API Type Library"
Te voy a poner un ejemplo que te pone en un ListBox los contactos de tu lista y te dice su Estado. Si el Estado no es No conectado, puedes dar doble click sobre el y abrir una Ventana de Conversacion
Public WithEvents Msn As MessengerAPI.Messenger
Dim TmpUser As MessengerAPI.IMessengerContact
Private Sub Command1_Click()
List1.Clear
Set Users = Msn.MyContacts
For i = 1 To Users.Count - 1
Set TmpUser = Users.Item(i)
Select Case TmpUser.Status
Case 1
List1.AddItem "Desconectado - " & TmpUser.SigninName
'List1.AddItem TmpUser.FriendlyName
Case 2
List1.AddItem "Conectado - " & TmpUser.SigninName
Case 18
List1.AddItem "Idle - " & TmpUser.SigninName
Case 34
List1.AddItem "Ausente - " & TmpUser.SigninName
Case 10
List1.AddItem "No disponible - " & TmpUser.SigninName
Case 66
List1.AddItem "Salí a comer - " & TmpUser.SigninName
Case 14
List1.AddItem "Vuelvo enseguida - " & TmpUser.SigninName
Case 50
List1.AddItem "Al telefono - " & TmpUser.SigninName
Case Else
List1.AddItem TmpUser.Status & " - " & TmpUser.SigninName
End Select
Next i
End Sub
Private Sub Form_Load()
Set Msn = New Messenger
Command1_Click
End Sub
Private Sub List1_DblClick()
cadenas = Split(List1, "- ")
If Msn.GetContact(cadenas(1), Msn.MyServiceId).Status > 1 Then
Msn.InstantMessage cadenas(1)
Else
MsgBox "El usuario no esta conectado"
End If
End Sub
Hay muchas cosas que se pueden hacer, esta es una de las mas sencillas
Para programar para el Msn te recomiendo que visites :
http://forum.mess.be
http://forums.msnfanatic.com