wpf アプリケーションで exe をカプセル化する必要があります。私の wpf アプリケーションは非常に大きく、多くの UserControls があります。これを行うには、コードからexeを開始し、ハンドルを取得して「setParent」を使用してexeをアプリケーションに「バインド」しましたが、唯一の効果はexeのドロップダウンメニューを表示することですが、メインページではありません。例:メモ帳を埋め込もうとしましたが、その領域をクリックするとドロップダウンメニューのみが表示されます(メインメニューバーは表示されないことに注意してください)。
var procInfo = new System.Diagnostics.ProcessStartInfo(this.exeName);
procInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(this.exeName);
// Start the process
_childp = System.Diagnostics.Process.Start(procInfo);
// Wait for process to be created and enter idle condition
_childp.WaitForInputIdle();
// Get the main handle
_appWin = _childp.MainWindowHandle;
// Get main window handle
var helper = new WindowInteropHelper(Window.GetWindow(this.AppContainer));
// Incapsulate
SetWindowLongA(_appWin, -20, 0x00000040 | 0x00000008);
SetParent(_appWin, helper.Handle);
このコードを他の C# アプリケーションで試してみたところ、問題なく動作したことに注意してください。ビューポートの再描画/更新に問題があると思います。アプリケーション内の外部 exe のこの再描画をどのように強制できますか? exeを埋め込むための代替ソリューションを見つけるために、私を助けてもらえますか? ありがとう
別のタブ( here )でexeを実行するソリューションを試しましたが、このソリューションでも機能しません。
「SendMessage」でこれを解決できますか??? 行うべきテストを提案してもらえますか?
ひとつお願いがあります。助けてください!!!