你能将一个进程的Direct3D窗口渲染到另一个进程'HWND吗?

7 winapi direct3d

我想要做的是让Windows应用程序启动另一个Direct3D应用程序,并将Direct3D应用程序渲染到父进程提供的控件中.

这甚至可能吗?如果是的话,怎么办呢?

Dro*_*per 5

它可以很容易地完成,您需要做的就是在创建D3DDevice时将HWND窗口id作为参数传递.它甚至可以在互操作期间工作 - 您可以将hWnd从.NET传递到C++并使用本机directX渲染C#窗口.


Ric*_*ACC 0

这个有可能。我记得在 VB6 中编写屏幕保护程序时是这样做的。屏幕保护程序控制面板将命令行与预览窗口的 HWND 一起发送到屏幕保护程序。使用该 HWND,您可以获得 HDC 以及您需要的其他一切。