在Windows中渲染后台桌面的实时预览

时间:2014-06-18 03:42:50

标签: c++ windows winapi dxgi

我一直在关注msdn上的DXGI Desktop Duplication Sample,它看起来非常不错,但它并不清楚它是否适用于我想要做的事情。

我想要做的是使用Win32 Desktop api's创建一个新桌面(CreateDesktop),然后切换到该桌面(SwitchDesktop)然后在那个新桌面上我会喜欢创建一个窗口并渲染原始桌面的实时预览。

尽管名称DXGI api似乎与"屏幕"更相关。不是桌面,在Win32意义上。在我投入大量时间尝试实现这一点之前,我发现自己没有工作,我希望有更多知识渊博的人能够引导我并朝着正确的方向前进。

之前使用其他常见屏幕捕获方法执行此操作的尝试导致失败,因为图像始终为黑色。我希望DXGI允许我将非活动桌面渲染成DirectX纹理,然后我可以在我的应用程序中显示。

1 个答案:

答案 0 :(得分:0)

我认为对此的答案是你无法做到。我已经放弃了这种方法,现在相信RDP api是我实际需要实现的目标。我认为在DXGI中他们说" Desktop"他们实际上是指" Screen"。

我还没有能够弄清楚如何使用RDP api来做到这一点,但我相信它是可能的。