자녀가있는 메인 창이 있습니다. 스크린 샷을 프로그래밍 방식으로 가져 와서 메인 윈도우에 다시 그려야합니다.OpenGL을 실행중인 하위 창의 캡쳐 화면 얻기 (Windows)
HDC hDC = GetWindowDC(hWnd);
HDC memDC = CreateCompatibleDC(hDC);
HBITMAP memBM = CreateCompatibleBitmap(hDC, Width, Height);
HBITMAP OldBM = (HBITMAP)::SelectObject(memDC, memBM);
BitBlt(memDC, 0, 0, Width, Height , hDC, BEGINX, BEGINY, SRCCOPY);
int Bpp = GetDeviceCaps(hDC,BITSPIXEL);
int size = Bpp/8 * (Width * Height);
BYTE *lpBits = new BYTE[size];
GetBitmapBits(memBM, size, lpBits);
그러나이 대신 그냥 OGL이 있어야하는데 렌더링 영역에서 빈을 그립니다, 자식 윈도우의 OpenGL을 부분을 캡처하지 않습니다 나는이 작업을 수행하는 방법이다.
원본 창이 자식 인 경우 DWM 축소판을 사용하여이 작업을 수행 할 수 없습니다. 나는 좌절한다. –