2009-07-28 3 views
5

MFC에서 작업 중이고 bmp를 캡처하려고합니다. 이 작업을 수행하려면 GetDC (NULL)를 사용하고 있지만 특수 스킨 된 윈도우는 무시됩니다. 그것은 UpdateLayeredWindow로 그린 윈도우를 무시하는 것 같습니다. 이 문제는 Vista x64 및 XP에서만 발생하는 것으로 보입니다. 나는 또한 데스크톱 HWND로 GetWindowDC를 시도했지만 그 결과는 동일합니다.화면 캡처가 일부 창을 무시합니다.

참고 : 1) 화면 인쇄가 작동합니다. 2) Vista에서 Aero를 사용하면 화면 캡처가 정상이며 "특별"창이 나타납니다. 따라서 Vista에서는 Aero가 비활성화 된 경우에만 발생합니다.

아이디어가 있습니까?

감사합니다.

+0

이 캡처 비디오 재미있는 –

+0

을 일부러 CAPTUREBLT 플래그를 추가 인쇄 화면이 동일한을 수행 눌러합니까? – sharptooth

+0

@ Umair Ahmed : Print Screen 자체가 비디오를 캡처하지 않는다고 생각합니다. –

답변

6

는 ...에 "캡처"레이어 창 나를 위해

+0

고맙습니다. 이것은 효과가 있었다. – Nemok

+1

IMO 이런 종류의 모호한 지식은이 사이트의 내용입니다. 감사합니다. (아마 사용하지 않을지라도 :) – Roel

+0

흥미롭게도'CAPTUREBLT'를 포함하면 클라이언트 프레임 영역 만 얻지 못합니다. catch-22처럼 보입니다. –

1

데스크톱 구성 때문일 수 있습니다. Vista에서 Aero 바탕 화면 구성을 해제하고 다시 시도하십시오. 비트 블리트()를 호출 할 때

+0

에어로가 꺼져 있으며, XP에는 없습니다 ... 에어로가 꺼져있을 때이 문제가 나타날 수 있습니다. 에어로를 테스트합니다. – Nemok

+0

실제로 일부 테스트를 마쳤습니다. Vista에서 Aero를 비활성화하면 "특별"창이 나타나지 않는 것 같습니다. 가능하면 가능합니다. XP에는 사용할 수있는 에어로 옵션이 없으므로 문제가 발생할 때마다 발생합니다. 어떤 아이디어? – Nemok

관련 문제