Bueno creo o es idea mia que estas haciendo un form incluyes un boton y nada mas ?
Ese codigo que te eh puesto es el que debes poner una vez conectado
POR TU PROGRAMA USANDO EL PROTOCOLO, no desde el "
Windows Live messenger" para cambiar el nick de un usuario de hotmail debes hacer estos pasos:
1-) Conectar usando el usuario y contraseña desde protocolo con VB..
2-) Poner el Command y dentro del Command eso que te puse.
Pero para conectar a MSN no es cosa facil, digamos que es algo complicadillo la primera vez, ahi que conectar a varios servidores, enviar autoidentificaciónes encriptadas. De todas formas aqui te paso un tutorial...
www.telefonica.net/web2/telamarinera/docus/protocolo_msn.pdfEn ese tutorial esta todo bien solo hasta la parte que tienes que conectar al servidor "login.live.com" que debes ignorar esa parte y agregar esta función a tu programa.
Public Function Passport() As String
oWinHTTP.Open "GET", "https://nexus.passport.com/rdr/pprdr.asp"
oWinHTTP.send
sFirstResponse = oWinHTTP.getAllResponseHeaders
'sValue = oWinHTTP.getResponseHeader(sHeaderName)
iDaLoginStart = InStr(1, sFirstResponse, "DALogin=") + 8
iDaLoginEnd = InStr(iDaLoginStart, sFirstResponse, ",")
sDaLogin = Mid(sFirstResponse, iDaLoginStart, iDaLoginEnd - iDaLoginStart)
oWinHTTP.Open "GET", "https://" & sDaLogin
oWinHTTP.setRequestHeader "Authorization", "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" & Replace(usuariox.Text, "@", "%40") & ",pwd=" & pass.Text & "," & Dlogin
oWinHTTP.send
sSecondResponse = oWinHTTP.getAllResponseHeaders
If InStr(1, sSecondResponse, "Location:") > 0 Then
iDaLocaStart = InStr(1, sSecondResponse, "Location: ") + 10
iDaLocaEnd = InStr(iDaLocaStart, sSecondResponse, vbCrLf)
sDaLoca = Mid(sSecondResponse, iDaLocaStart, iDaLocaEnd - iDaLocaStart)
oWinHTTP.Open "GET", sDaLoca
oWinHTTP.setRequestHeader "Authorization", "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" & Replace(usuariox.Text, "@", "%40") & ",pwd=" & pass.Text & "," & Dlogin
oWinHTTP.send
If (iDaKeyStart = 9) And (iDaKeyEnd = 0) Then
'Cuando la contraseña esta mal
Set oWinHTTP = Nothing
fals = 1
Call Salir
Call Recargar
Exit Function
End If
sThirdResponse = oWinHTTP.getAllResponseHeaders
iDaKeyStart = InStr(1, sThirdResponse, "from-PP=") + 9
iDaKeyEnd = InStr(iDaKeyStart, sThirdResponse, "'")
If (iDaKeyStart = 9) And (iDaKeyEnd = 0) Then
'Cuando la contraseña esta mal
Set oWinHTTP = Nothing
fals = 1
Call Salir
Call Recargar
Exit Function
End If
sDaKey = Mid(sThirdResponse, iDaKeyStart, iDaKeyEnd - iDaKeyStart)
Passport = sDaKey
Else
iDaKeyStart = InStr(1, sSecondResponse, "from-PP=") + 9
iDaKeyEnd = InStr(iDaKeyStart, sSecondResponse, "'")
If (iDaKeyStart = 9) And (iDaKeyEnd = 0) Then
'Cuando la contraseña esta mal
Set oWinHTTP = Nothing
fals = 1
Call Salir
Call Recargar
Exit Function
End If
sDaKey = Mid(sSecondResponse, iDaKeyStart, iDaKeyEnd - iDaKeyStart)
Passport = sDaKey
Text4.BackColor = vbGreen
SEG.SendData "USR 4 TWN S " & Passport & vbCrLf
Call log
End If
End Function
PD: Tienes que crear un objeto y varias variables que ya al leer el codigo te daras cuenta.Un saludo