vabeh dato che ho avuto MILLE risposte ho cercato e ho trovato, se a qualcuno serve qui c'e' il codice (pezzi):
codice:
Public Sub DoCapture()
Dim xPos As Long 'actual X-position
Dim yPos As Long 'actual Y-position
Dim Ret As Long 'returnvalue from API's
Dim DeskHwnd As Long 'windowhanlde
Dim DeskHdc As Long 'handle of devicecontext
Dim DeskRect As RECT 'rect's of the desktop
Dim dibHdc As Long 'i tested something
Dim ByteArray() As Byte
Dim sValue As String
Const CRATE = 5 'accuracy
Dim CS(CRATE * CRATE * CRATE) As Long 'if store all
'checksums of the last picture there
'so i know if the picture is different
'from the last and if i have to send it
'a second time or not
Dim CS_Tmp As Long 'checksum(bad translation)
Dim K As Long 'actual part of the desktop
'### get desktophandle
DeskHwnd = GetDesktopWindow()
'### get devicecontext
DeskHdc = GetDC(DeskHwnd)
'### get windowrect's
Ret = GetWindowRect(DeskHwnd, DeskRect)
'### create 16 clolored DIB
DIB.Colors = 16
RecDib.Colors = 16
Call DIB.Create(DeskRect.Right / CRATE, DeskRect.Bottom / CRATE)
Call RecDib.Create(DeskRect.Right / CRATE, DeskRect.Bottom / CRATE)
'### when ENDE is true then capturing shall end
ENDE = False
'### begin with first part of the desktop
K = 0
'### set reponse to FALSE
modCapture.C_Response = False
modCapture.C_Set_Response = False
Do Until ENDE
For yPos = 0 To DeskRect.Bottom Step (DeskRect.Bottom / CRATE)
For xPos = 0 To DeskRect.Right Step (DeskRect.Right / CRATE)
'### blit actual part of the desktop into the dib
Ret = BitBlt(DIB.hdc, 0, 0, DeskRect.Right /_
CRATE, DeskRect.Bottom / CRATE, DeskHdc, xPos, yPos, SRCCOPY)
'### store the dib in an array
Call DIB.ToByte(ByteArray)
'### compress the array
Call ZLib.CompressByte(ByteArray)
'### save the checksum
CS_Tmp = UBound(ByteArray)
'### if the part is different to the last-> send the data
If CS_Tmp <> CS(K) Then
CS(K) = CS_Tmp
On Error GoTo NoConn
'### first send the actual position
frmCapture.TCP_Set.SendData CStr(xPos) & ";" & CStr(yPos)
'### wait for response
Do Until C_Set_Response
DoEvents
Loop
C_Set_Response = False
'### send data
frmCapture.TCP.SendData ByteArray
'### wait for response
Do Until C_Response
DoEvents
Loop
C_Response = False
On Error GoTo 0
End If
'### next part of the desktop...
K = K + 1
DoEvents
Next xPos
Next yPos
'### begin at pos (0,0)
xPos = 0
yPos = 0
K = 0
'### one frame made
Q = Q + 1
Loop
Exit Sub
il programma è preso da un sito, nn so se posos mettere il link quindi lo ometto, se serve a qualcuno mi mandi un msg pvt