我在MFC中工作,我试图捕捉到桌面的BMP。 我使用的GetDC(NULL)要做到这一点,但现在看来,这忽略特殊皮肤窗口。 这似乎忽略与UpdateLayeredWindow绘制窗口。 这种行为似乎是在Vista x64和XP只发生。 我也曾尝试GetWindowDC与桌面HWND但结果是一样的。
注:1)打印屏幕工作。 2)在Vista中,如果启用Aero的屏幕捕捉都行,“特殊”窗口出现。 因此,在Vista上只当Aero是禁用的发生。
一个想法?
谢谢。
我在MFC中工作,我试图捕捉到桌面的BMP。 我使用的GetDC(NULL)要做到这一点,但现在看来,这忽略特殊皮肤窗口。 这似乎忽略与UpdateLayeredWindow绘制窗口。 这种行为似乎是在Vista x64和XP只发生。 我也曾尝试GetWindowDC与桌面HWND但结果是一样的。
注:1)打印屏幕工作。 2)在Vista中,如果启用Aero的屏幕捕捉都行,“特殊”窗口出现。 因此,在Vista上只当Aero是禁用的发生。
一个想法?
谢谢。
当调用的BitBlt(),添加CAPTUREBLT标志“捕获”分层窗口
这可能是因为桌面组成。 关闭Aero桌面组成Vista和再次尝试。