私がやりたいことは、Windows アプリケーションが別の Direct3D アプリケーションを起動し、Direct3D アプリケーションが親プロセスによって提供されるコントロールにレンダリングされるようにすることです。
これは可能ですか?もしそうなら、それはどのように行われますか?
これは簡単に実行できます。D3DDevice を作成するときに HWND ウィンドウ ID をパラメーターとして渡すだけです。相互運用中にも機能します。hWnd を .NET から C++ に渡し、ネイティブの directX を使用して C# ウィンドウをレンダリングできます。
これは、既存の Win32 ウィンドウで WPF ウィンドウのコンテンツをホストする 1 つの例です。これは、WPF ベースのスクリーン セーバーを作成するときに行ったもので、スクリーン セーバーの小さなプレビュー ウィンドウにレンダリングする必要がありました。
http://stuff.seans.com/2008/09/01/writing-a-screen-saver-in-wpf/
これは可能です。スクリーンセーバーを書くときにVB6でやったのを覚えています。スクリーン セーバー コントロール パネルは、プレビュー ウィンドウの HWND を使用してスクリーン セーバーにコマンドラインを送信します。その HWND を使用して、HDC を取得し、そこから必要なものをすべて取得できます。