我在MFC工作,我正在尝试捕获桌面的bmp。 我使用GetDC(NULL)来做到这一点,但它似乎忽略了特殊的蒙皮窗口。它似乎忽略了使用UpdateLayeredWindow绘制的窗口。这种行为似乎只发生在Vista x64和XP上。我也尝试过使用桌面HWND的GetWindowDC,结果是一样的。
注意: 1)打印屏幕工作。 2)在Vista上,如果我启用Aero,屏幕截图就可以了,会出现“特殊”窗口。因此,在Vista上,只有在Aero被禁用时才会发生。
一个想法?
谢谢。
答案 0 :(得分:7)
调用BitBlt()时,添加CAPTUREBLT标志以“捕获”分层窗口
答案 1 :(得分:1)
这可能是因为桌面组成。在Vista中关闭Aero桌面组合并再次尝试。