8

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

这甚至可能吗?如果是,它会怎么做?

4

3 回答 3

5

它可以轻松完成,您只需在创建 D3DDevice 时将 HWND 窗口 id 作为参数传递。它甚至可以在互操作期间工作 - 您可以将 hWnd 从 .NET 传递到 C++ 并使用本机 directX 呈现 C# 窗口。

于 2008-11-02T20:08:46.383 回答
1

下面是一个示例,在现有 Win32 窗口中托管 WPF 窗口的内容。我在编写基于 WPF 的屏幕保护程序时这样做了,必须渲染到屏幕保护程序的小预览窗口中。

http://stuff.seans.com/2008/09/01/writing-a-screen-saver-in-wpf/

于 2009-04-08T19:53:04.503 回答
0

这个有可能。我记得在编写屏幕保护程序时在 VB6 中做过。屏幕保护程序控制面板使用预览窗口的 HWND 向屏幕保护程序发送命令行。使用该 HWND,您可以获取 HDC 并从那里获取您需要的所有其他内容。

于 2008-09-22T08:53:48.993 回答