屏幕捕获忽略一些窗口(Screen capture ignores some windows)

2019-07-30 23:30发布

我在MFC中工作,我试图捕捉到桌面的BMP。 我使用的GetDC(NULL)要做到这一点,但现在看来,这忽略特殊皮肤窗口。 这似乎忽略与UpdateLayeredWindow绘制窗口。 这种行为似乎是在Vista x64和XP只发生。 我也曾尝试GetWindowDC与桌面HWND但结果是一样的。

注:1)打印屏幕工作。 2)在Vista中,如果启用Aero的屏幕捕捉都行,“特殊”窗口出现。 因此,在Vista上只当Aero是禁用的发生。

一个想法?

谢谢。

Answer 1:

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



Answer 2:

这可能是因为桌面组成。 关闭Aero桌面组成Vista和再次尝试。



文章来源: Screen capture ignores some windows