如何忽略使用DirectShow API捕获按钮/区域?

问题描述:

我正在使用“Push Source Desktop”过滤器来捕获我的应用程序中的屏幕。 在录制过程中我隐藏了我的应用程序。屏幕上仅显示一个用于停止录制的按钮。 该按钮也被过滤器记录下来。在播放保存的录像时,该按钮与屏幕区域的其余部分一起可见。如何忽略使用DirectShow API捕获按钮/区域?

有没有什么办法可以防止按钮被录制?

我的目的是记录没有按钮的屏幕。我无法隐藏按钮,因为它需要停止记录我的应用程序。 我试图改变我的按钮的alpha组件,并使其半透明。但是过滤器仍然捕获半透明按钮。

如何获取按钮的背景区域并忽略按钮本身的捕获?

这个问题实际上与DirectShow无关。长话短说,DirectShow在您发送已使用DirectShow API的图像和软件项目的形状因子时开始。

你的问题是如何在桌面上显示某些东西,并从相同的桌面上抓取,除了你呈现给用户的部分。我不认为你可以在没有太多细节的情况下准确地实现它,但很多时候你可以这样做:你知道你的UI元素的位置,这样你就可以根据窗口Z-订单(另一个应用程序窗口或桌面等)。您可以要求此窗口重新绘制到您的DC中,然后将这些部分合并到您作为DirectShow源发送到下游的视频中。