屏幕截图忽略了一些窗口

时间:2009-07-28 10:54:10

标签: c++ winapi mfc screenshot capture

我在MFC工作,我正在尝试捕获桌面的bmp。 我使用GetDC(NULL)来做到这一点,但它似乎忽略了特殊的蒙皮窗口。它似乎忽略了使用UpdateLayeredWindow绘制的窗口。这种行为似乎只发生在Vista x64和XP上。我也尝试过使用桌面HWND的GetWindowDC,结果是一样的。

注意:   1)打印屏幕工作。   2)在Vista上,如果我启用Aero,屏幕截图就可以了,会出现“特殊”窗口。因此,在Vista上,只有在Aero被禁用时才会发生。

一个想法?

谢谢。

2 个答案:

答案 0 :(得分:7)

调用BitBlt()时,添加CAPTUREBLT标志以“捕获”分层窗口

答案 1 :(得分:1)

这可能是因为桌面组成。在Vista中关闭Aero桌面组合并再次尝试。