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 ウィンドウのコンテンツをホストする 1 つの例です。これは、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 に答える