حل شد :


با کمک دستور printwindow و دستوارت wia مجبور شدم عکس ها را باهم ترکیب کنم چیزی شبیه این :

With Me

Dim br() As Byte
LayeredCanvas_Form(Main_Form1.mylayeredformid).Get AsStream br()
If Dir(App.Path & "\skin.dat") <> "" Then Kill App.Path & "\skin.dat"
LayeredCanvas_Form(Main_Form1.mylayeredformid).Sav eAsPNG App.Path & "\skin.dat"

If .myimg.PictureExist Then .myimg.PictureDelete
.mypic.Left = 20000
.mypic.Top = 20000
.mypic2.Left = 20000
.mypic2.Left = 20000
.myimg.PictureFromStream br
Erase br


.myimg.Visible = True
.myimg.Width = Main_Form1.bg(0).Width
.myimg.Height = Main_Form1.bg(0).Height
.myimg.Refresh
.myimg.Left = 0
.myimg.Top = 0
.mypic.Left = 0
.mypic.Top = 0
.mypic.Width = Main_Form1.bg(0).Width
.mypic.Height = Main_Form1.bg(0).Height

PrintWindow .hWnd, .mypic.hDC, 1
If .myimg.PictureExist Then .myimg.PictureDelete
.myimg.Refresh
.myimg.Visible = False


Set .mypic.Picture = .mypic.Image
.mypic2.Width = Main_Form1.capturearea.Width
.mypic2.Height = Main_Form1.capturearea.Height
BitBlt .mypic2.hDC, 0, 0, Main_Form1.capturearea.Width, Main_Form1.capturearea.Height, .mypic.hDC, Main_Form1.capturearea.Left, Main_Form1.capturearea.Top, vbSrcCopy
Set .mypic2.Picture = .mypic2.Image
.mypic2.Refresh

If Dir(App.Path & "\crop.dat") <> "" Then Kill App.Path & "\crop.dat"
SavePicture .mypic2.Image, App.Path & "\crop.dat"


.mypic.Picture = LoadPicture(""): .mypic2.Picture = LoadPicture("")
.mypic.Width = 100: .mypic.Height = 100
.mypic2.Width = 100: .mypic2.Height = 100
.myimg.Left = 2000: .myimg.Top = 2000: .myimg.Width = 100: .myimg.Width = 100: .myimg.Visible = False
.mypic.Left = 20000: .mypic.Top = 20000
.mypic2.Left = 20000: .mypic2.Left = 20000
.Refresh

End With

Dim mycls As New clscapture

mycls.CaptureFormAndSaveFile "skin.dat", "crop.dat", "data.dat", Main_Form1.capturearea.Left, Main_Form1.capturearea.Top
Set mycls = Nothing

End Sub