我正在尝试编写一个WindowsC++程序,该程序将尝试从屏幕上当前显示的任何内容中挑选出感兴趣的颜色。我尝试了以下GDI、Direct3D9和Direct3D11DXGI示例,它们所有似乎都仅用于捕获Windows桌面和/或我自己的应用程序自己的输出。当我启动全屏Direct3D游戏时,我似乎最终得到了一些空白像素数据。它必须可以实现这一点,否则OBSStudio、FRAPS等将无法像它们那样透明地工作。我知道我可以尝试对OBSStudio进行逆向工程,但是有人有更简洁的C++解决方案来将任意Windows应用程序的视频输出捕获为某种像素缓冲区吗?编辑:我还应该提到捕获常规桌面窗口似