我需要在一组Windows中复制桌面。我这样做如下:
ID3D11Device* Device;
D3D11CreateDevice(...&Device)
...
IDXGIOutputDuplication* DeskDupl;
IDXGIOutput1::DuplicateOutput(Device, DeskDupl);
对于一个复制桌面的窗口,它可以正常工作,但是对于另一个窗口,我在
DuplicateOutput()
上得到E_INVALIDARG。 MSDN说这意味着:The calling application is already duplicating this desktop output.
是否可以将桌面复制到几个窗口,而不仅仅是一个窗口?
最佳答案
似乎不适合您的方法,请参见IDXGIOutput1::DuplicateOutput方法的remmars部分
但是,如果您只想在不同的窗口中渲染同一场景,则可以用其他方法来实现,建议您使用多个交换链。
关于c++ - 复制Windows桌面不止一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23259117/