2011-10-28 10 views
0

DirectDraw関数を使用して表示されているフルスクリーンアプリケーションを使用していて、正常に動作しています。 これで、別のアプリケーションを独自のウィンドウで表示したいのですが、起動すると、Direct Drawアプリケーションの全面に他のアプリケーションが表示されません。私はdirectdrawフルスクリーンアプリケーションを閉じるときにのみ、他のアプリケーションにアクセスすることができます。DirectDrawフルスクリーンアプリケーションの上に別のアプリケーションを表示

実行中に直接描画全画面アプリケーションから別のアプリケーションに切り替えることはできますか?フルスクリーンのDirectDraw関数の上に他のアプリケーションのウィンドウを表示する方法はありますか?そして、もう一度他のウィンドウが閉じたら、もう一度やり直してください。

おかげに関しては

答えて

1

私はいくつかの時間前にこのに見て、その行わ道はDirectDrawのAPIをフックし、そこに独自のレンダリングを挿入することがあることがわかりました。基本的に、他のアプリがシーンを描画してバックバッファを表示しようとすると、コードがジャンプして自分のことを行います。私は自分自身を働かせることはありませんでしたが、それがアプローチのようです。私はそれを行うには簡単な方法はないと思う。

もう1つのオプションは、他のアプリがフルスクリーンウィンドウモードで実行できるかどうかを確認することです。基本的に、画面全体を塗りつぶす罫線はありませんが、技術的に全画面/排他モードはありません。それがサポートされている場合は、その上に表示される最上部のウィンドウを作成できます。

+0

申し訳ありません他のアプリケーションがDirectDrawを使用せず、通常のGDI呼び出しを使用していることを忘れてしまいました。任意のアイデアは、他のアプリケーションが通常のウィンドウを作成するか、またはメッセージボックスを表示する場合、上記が可能かどうか?今は最初のアプリケーションの後ろに隠されています。 – Harish

+0

GDIコールでフルスクリーンウィンドウを使用している場合は、ウィンドウを一番上にしてみてください。 SetWindowPos呼び出しについては、http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspxを参照してください。引数を指定すると、ウィンドウを「最上位」にすることができ、それは全画面ウィンドウの上に表示されます。 – Nerdtron

+0

@Nerdton、私はSetWindowPosと他のAPIを試しましたが、私はまだ他のウィンドウを見ることができません。最初のアプリケーション(DirectDrawを使用)がフルスクリーンである限り、他のアプリケーションウィンドウ(GDIを使用)は表示されません。 – Harish