5

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

注意: 1) 打印屏幕有效。2) 在 Vista 上,如果我启用 Aero,屏幕截图正常,会出现“特殊”窗口。所以在 Vista 上它只在 Aero 被禁用时发生。

一个想法?

谢谢你。

4

2 回答 2

7

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

于 2009-07-28T13:59:35.747 回答
1

这可能是因为桌面组合。在 Vista 中关闭 Aero 桌面组合,然后重试。

于 2009-07-28T11:33:01.327 回答