Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Badlands en 28 Agosto 2006, 08:07 am



Título: Ayuda Captura de Pantalla!!!!!
Publicado por: Badlands en 28 Agosto 2006, 08:07 am
Estoy tratando de capturar la pantalla y enviarla a otro formulario por winsock, pero no logro enviarla, ya que nunca llega la imagen lo estoy haciendo asi:

EL FORM QUE QUIERO QUE LA RECIVA:

Código:
Dim datos As String
ws.GetData datos
End Sub
Open "e:\captura.bmp" For Binary As #1
Put #1, , datos
Close #1

EL FORM QUE ENVIA LA CAPTURA

FUNCION QUE SAQUE DEL FORO:
Código:
Private Function Captura_Screen()

Clipboard.Clear
'capturamos
keybd_event 44, 0, 0, 0
keybd_event 44, 0, KEYEVENTF_KEYUP, 0

'mientras no se pueda cojer el contenido
Do While Clipboard.GetData = False
DoEvents
Loop

Picture1.Picture = Clipboard.GetData
'borramos el portapapeles
Clipboard.Clear
SavePicture Picture1.Picture, "e:\sht.bmp"

Do While Len(Dir("e:\sht.bmp")) = 0
    DoEvents
Loop
'ya se ha guardado el archivo
End Function

Private Sub Command1_Click()
Call Captura_Screen
Dim imagen As String
Open "e:\sht.bmp" For Binary As #1
Get #1, , imagen
Close #1
ws.SendData imagen
End Sub

PD:se que es un tema comentado pero no se que pasa en teoria creo que me tendria que funcionar.
 
Gracias




Título: Re: Ayuda Captura de Pantalla!!!!!
Publicado por: NYlOn en 28 Agosto 2006, 21:33 pm
A simple vista, hay un error aca:
Código:
Get #1, , imagen
Para usar GET primero tenes que hacer un buffer. Para eso haces:
Código:
imagen = Space(LOF(1)) 'Que haga un espacio del largo del archivo
Despues pones lo de Get...

Despues tendrias que ver si los datos se envian correctamente (si llega al otro lado todo junto) y si se reciben sin problemas...

Saludos.-


Título: Re: Ayuda Captura de Pantalla!!!!!
Publicado por: Badlands en 28 Agosto 2006, 22:17 pm
que quedaria algo asi?:
Código:
Private Sub Command1_Click()
Call Captura_Screen
Dim imagen As String
Open "e:\sht.bmp" For Binary As #1
imagen = Space(LOF(1))
Get #1, , imagen
Close #1
ws.SendData imagen
End Sub


Título: Re: Ayuda Captura de Pantalla!!!!!
Publicado por: maxnet en 29 Agosto 2006, 02:49 am
con ese codigo solo enviarias un trozo del archivo

que quedaria algo asi?:
Código:
Private Sub Command1_Click()
Call Captura_Screen
Dim imagen As String
Open "e:\sht.bmp" For Binary As #1
imagen = Space(LOF(1))
Get #1, , imagen
Close #1
ws.SendData imagen
End Sub


Código:
'la variable vEnviado debe ser una variable global
'en el evento del objeto socket SendComplete escribe esto
' bEnviado=true

dim A as long, Imagen as string

open "e:\sht.bmp" for binary as #1
imagen=space(lof(1))
get #1,, imagen
close #1

for A=1  to len(imagen) step 2048

ws..sendata mid(imagen,a,2048)


do
 doevents
 if bEnviado=true then exit do
loop
bEnviado =false
next a