I am trying to copy the screen to a picturebox with bitblt then from the picturebox using getbitmapbits send it to an array.

The problem is after the image is copied to the picturebox getbitmapbits doesn't get pixel values of the image, it gets the pixel values of the picturebox itself.

Why is it doing this? is there some way to bitblt screencapture directly to an array, or some other way,something fast like bitblt.