아래 코드를 사용하여 bltblt를 사용하여 창의 스크린 샷을 캡처하고 있습니다. 그러나 캡처 된 스크린 샷에는 제목 표시 줄이 완전히 검게 나타납니다. Windows 8.1에서 코드를 실행하고 있습니다. 제목 표시 줄을 올바르게 캡처 할 수있는 방법이 있습니까? BitBlt가 제목 표시 줄을 올바르게 캡처 할 수 없습니다.
// Retrieve the handle to a display device context for the sourceWindow
hdcScreen = GetDC(ss);
// Retrieve the handle to a display device context for the dest window
hdcWindow = GetDC(hWnd);
//Get the client area for size calculation
RECT rcClient;
GetWindowRect(ss, &rcClient);
if (!BitBlt(hdcWindow,
0, 0,
rcClient.right - rcClient.left, rcClient.bottom - rcClient.top,
hdcScreen,
0, 0,
SRCCOPY|CAPTUREBLT))
{
MessageBox(hWnd, L"BitBlt has failed", L"Failed", MB_OK);
goto done;
}
편집 : 내가 바탕 화면 전체를 커버 할 끊임없이 그냥 뒤에 윈도우의 스크린 샷을 업데이트됩니다의 스크린 샷을 표시하고 창. 또한 스크린 샷을 표시하는 창은 항상 맨 위 창입니다.
http://stackoverflow.com/questions/1149271/how-to-correctly-screencapture-a-specific-window-on-aero-dwm이 관심의 대상 일 수 있습니다. –
나는 그것을 체크 아웃했다. 불행히도, 창문으로 나는 스크린 샷을 표시 할 때 전체 스크린을 덮을 것이므로 전체 데스크탑을 캡처하고 자르면 스크린 샷에서 원하는 창을 포함하여 나를 위해 일하지 않을 것이다. – thunderbird
[DWM 미리보기 이미지] (http://msdn.microsoft.com/ko-kr/library/windows/desktop/aa969541(v=vs.85)asp)를 대신 살펴보십시오. –