2009-07-28 74 views
5

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

注意: 1)打印屏幕的作品。 2)在Vista上,如果我启用Aero屏幕捕捉是好的,会出现“特殊”窗口。所以在Vista上它只发生在Aero被禁用时。

想法?

谢谢。

+0

对我来说它没有捕捉视频 – 2009-07-28 10:57:15

+0

有趣...是否按打印屏幕执行相同? – sharptooth 2009-07-28 11:01:41

+0

@Umair Ahmed:我认为Print Screen本身不会捕捉视频 – 2009-07-28 11:20:33

回答

6

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

1

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