2017-07-18 6 views
-3

私たちのアプリケーションでは、C++ MFCアンマネージドワールドから表示されるダイアログ(CDialog)があります。C# - ShowDialogアンマネージドウィンドウにオーナーを設定しました

私のWin-Formsモーダルダイアログ(C#)では、アンマネージドダイアログを所有者、つまり親として設定する必要があります。

C++ウィンドウに関するハンドルやその他のことはわかりません。

私の質問は - どのようにアンマネージMFCから現在アクティブなウィンドウを見つけることができますし、私のモーダルダイアログの所有者として設定します。

GerForegroundWindowは、アプリケーション内ではなく、セッション全体でアクティブなウィンドウを配信します。

本当にありがとうございます。

+0

これを試してやるために行った研究を教えてください。見つかった方法の中でなぜ彼らは働かなかったのですか? – Eddge

+1

こんにちは、ありがとうございます。[質問についてのドキュメント](https://stackoverflow.com/help/how-to-ask)をご覧ください。私は、現在アクティブなウィンドウを見つけることについての質問が既に尋ねられていると確信しています。さらに、あなたのメッセージには良い質問が書かれていますが、タイトルでそれを使わないのはなぜですか? –

+0

[C#を使用して現在のアクティブなウィンドウのタイトルを取得するにはどうすればよいですか?](https://stackoverflow.com/questions/115868/how-do-i-get-the-title-of-the-current -active-window-using-c) – Eddge

答えて

0

GetActiveWindowを使用して解決しました。 所有者を作成するには、NativeWindow.FromHandleを使用し、GetActiveWindowから取得したハンドルを渡しました。

ありがとう!

+0

そして、なぜダイアログのm_hWndを使わないのですか? – xMRi

関連する問題