¿Cómo capturar parte de la pantalla y guardarla en un BMP? [duplicar

Posible duplicado:
¿Cómo hacer una captura de pantalla con win32 en c ++?

Actualmente estoy intentando crear una aplicación que guarde una parte de la pantalla en un bmp. He encontrado BitBlt pero realmente no sé qué hacer con él. He intentado buscar algunas respuestas, pero todavía no he encontrado una aclaradora con C ++.

Entonces, básicamente quiero esta función:

bool capturePartScreen(int x, int y, int w int, h, string dest){
    //Capture part of screen according to coordinates, width and height.
    //Save that captured image as a bmp to dest.
    //Return true if success, false if failure
}

BitBlt:

BOOL BitBlt(
    __in  HDC hdcDest,
    __in  int nXDest,
    __in  int nYDest,
    //The three above are the ones I don't understand!
    __in  int nWidth,
    __in  int nHeight,
    __in  HDC hdcSrc,
    __in  int nXSrc,
    __in  int nYSrc,
    __in  DWORD dwRop
);

¿Cuál debería ser ese hdc y cómo obtengo el bmp?

Respuestas a la pregunta(4)

Su respuesta a la pregunta