1

我看到另一个听起来几乎相同的问题,但答案似乎是关于整个桌面屏幕截图:DirectShow Source filter using Dekstop window as source

我已经查看了 PushSource ,是的,它完成了它应该做的事情,但是我希望虚拟网络摄像头抓取一个特定的窗口(类似于您如何选择在 Skype 的共享屏幕中共享一个窗口)。

我将如何选择特定窗口作为虚拟网络摄像头的捕获?DirectShow API 中是否已经存在我不知道的特定方法?

4

1 回答 1

5

没有具体的方法。而且从屏幕抓取的样本部分已经在 DirectShow API 之外,而是 GDI。

所以解决方案很简单,你GetWindowRect定位你的窗口,然后从屏幕上只抓取这个矩形,而不是整个桌面。或者,您可以发送WM_PAINTWM_PRINTCLIENT到窗口,以请求将其绘制到提供的设备上下文中。

于 2012-09-26T16:41:12.673 回答