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

Rendering a live preview of a background desktop in Windows

本文关键字:实时 桌面 后台 Windows      更新时间:2023-10-16

我一直在看msdn上的DXGI桌面复制样本,它看起来很好,但不清楚它是否会为我想做的工作。

我想做的是使用Win32桌面api来创建一个新桌面(CreateDesktop),然后切换到那个桌面(SwitchDesktop),然后在那个新桌面中,我想创建一个窗口并渲染原始桌面的实时预览。

尽管DXGI api的名称似乎更与"屏幕"而不是桌面有关,在Win32的意义上。在我投入大量时间试图实现它之前,却发现它不起作用,我希望有更了解这些api的人可以加入并引导我朝着正确的方向前进。

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

我认为答案是你做不到。我已经放弃了这种方法,现在相信RDP api是我真正需要完成的。我认为在DXGI中,当他们说"桌面"时,他们实际上是指"屏幕"。

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