SetParent
アプリで外部アプリをホストするために使用しています(を使用WindowsFormHost
)。
流れはこんな感じです。
- アプリを開きます
- 外部アプリを開く
programmaticly
- SetParent を使用してアプリ内でホストします。
上記のフローにより、外部アプリが開くと、タスクバー/タスク マネージャーに一瞬 (親が設定されるまで) 表示されます。
最初に親を設定してからアプリを開く順序をどうにか変更できますか? 私が望むのは、私が今説明したことを避けることだけです..
私の問題に対する他の解決策があれば、喜んで受け入れます.
編集:
これは私のコードです
string strPres = @"C:\Users\Ron\Desktop\Create an Office Mix.pptx";
oPPT = new Microsoft.Office.Interop.PowerPoint.Application();
oPPT.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;
objPresSet = oPPT.Presentations;
objPres = objPresSet.Open(strPres, MsoTriState.msoFalse,
MsoTriState.msoFalse, MsoTriState.msoTrue);
objPres.SlideShowSettings.ShowType = Microsoft.Office.Interop.PowerPoint.PpSlideShowType.ppShowTypeWindow;
objPres.SlideShowSettings.Run();
objPres.Windows[1].Close();
objPres.Saved = MsoTriState.msoTrue;
uint oPPTID;
GetWindowThreadProcessId(new IntPtr(oPPT.HWND), out oPPTID);
_process = Process.GetProcessById((int)oPPTID);
_process.WaitForInputIdle();
SetParent(_process.MainWindowHandle, _panel.Handle);