Well, you could try this (discarding unverified pseudocode):
HGDI_DC memDC = gdi_CreateCompatibleDC ( hDC ); HGDI_BITMAP memBM = gdi_CreateCompatibleBitmap ( hDC, screenWidth, screenHeight ); gdi_SelectObject ( memDC, memBM ); gdi_BitBlt(memDC, 0, 0, screenWidth, screenHeight, hDC, 0, 0, GDI_SRCCOPY);
You should now have a full array of pixel data in memBM->data . memBM-> has the following size: memBM->width * memBM->height * memBM->bytesPerPixel
Hope this helps you at least a little.
source share