带有视频的窗口的屏幕截图

时间:2019-02-08 13:10:33

标签: c++ winapi screenshot direct3d ms-media-foundation

在我的应用程序中,我正在使用Media Foundation从网络摄像头渲染视频。带有视频的窗口是应用程序窗口的一部分,我想从整体上对屏幕截图进行编程。现在,我正在尝试使用经典方法进行屏幕截图(将窗口的dc复制到位图),但视频窗口已从图片中排除。

PS1:当我使用“打印屏幕”按钮为整个应用程序拍照时,它可以工作。包含视频窗口。

PS2:据我了解,Media Foundation使用Direct3D 11渲染视频。

1 个答案:

答案 0 :(得分:3)

您应该使用桌面复制API来捕获屏幕截图。复制DC是传统方法,而不是经典方法,并且出于充分的原因可以将视频部分排除在外。

请注意,如果播放器或应用程序明确要求将内容视为受保护的内容(例如,启用DRM的视频播放应用程序或启用DRM的内容的媒体播放器),则即使是台式机复制也可以排除某些部分。