Dim hMemDC As Long, i, j
Dim wDC As Long
Dim hWnd As LonghWnd = FindWindow(vbNullString, "mygame")
wDC = GetDC(hWnd)
hMemDC = CreateCompatibleDC(wDC)BitBlt hMemDC, 0, 0, 100, 100, wDC, 0, 0, SRCCOPY
For i = 0 To Picture1.Width
    For j = 0 To Picture1.Height
        Picture1.PSet (i, j), GetPixel(hMemDC, i, j)
    Next j
Next i以上代码有问题 并不能在picture1中输入复制到内存的图像

解决方案 »

  1.   

    hwnd = FindWindow(vbNullString, "mygame")
    MsgBox hwnd看看这个窗口有没有找到.-----难免有错,错了莫怪.
      

  2.   

    复制屏幕
    i = BitBlt(Me.Picture1.hdc, 0, 0, 100, 100, GetDC(0), 0, 0, SRCCOPY)
    Me.Picture1.Refresh
     注意要声明Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source-----难免有错,错了莫怪.
      

  3.   

    楼上的 mygame 是我在这随便取的名,在我程序中当然是正确的i = BitBlt(Me.Picture1.hdc, 0, 0, 100, 100, GetDC(0), 0, 0, SRCCOPY)这点我可以作到 我要把屏幕复制到内存中进行操作 而不是picture1中