以前はスタンドアロンアプリケーションだったWinFormsフォームがありますが、現在はより大きなWPFアプリケーションの一部として起動しています。まだ別のウィンドウで、WPFウィンドウには含まれていません。私が見ている問題は、ウィンドウ内のProcessCmdKeyイベントがこれ以上発生しないため、特別なコマンドキーの処理に問題があることです。これは正常に動作するために使用され、ショートカット処理コードは以前のものと同じです。WPFアプリケーションから起動したWinFormsウィンドウでProcessCmdKeyが発生しない
この問題の根本的な原因は、フォームがWinForms Application.Runメソッドからインクルードされていないため、独自のメッセージループが存在しないためです。 WPFとWinFormsウィンドウでUIスレッドを共有している間にこれを修正する方法はありますか?またはこれを動作させるためにWinFormsウィンドウ用に個別のスレッドを設定する必要がありますか?できるだけ避けたいのですが、単純なメソッド呼び出しで行われているすべてのことに対してクロススレッド通信を設定する必要があります。
ご覧いただきありがとうございます。 Zオーダーは実際にはこの特定のケースでは問題にはなりません。なぜなら、ウィンドウは別々のモニターで全画面表示されるからです。クリーンな修正の代わりに、私は今、汚い修正を適用しました。私はグローバルホットキーとして(User32.dllのRegisterHotKeyを使用して)必要ないくつかのキーを登録しており、Winformsウィンドウにフォーカスがある場合にのみそれらに作用します。それは今のところうまくいくようですが、私はおそらく後でWPFのウィンドウを書き直すでしょう。 –