私は持っている:
1 フォーム 1 パネル
これは問題なく実行できます。notepad.exe を実行し、パネル内で実行します。問題ありません。ただし、2003 または 2007 ビューアーのいずれかを実行すると、起動できますが、フォーム内では起動しません。(以下のサンプルコード)
//DLL Import
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
string ppviewer = @"C:\Program Files\Microsoft Office\Office12\PPTVIEW.EXE";
System.Diagnostics.ProcessStartInfo startinfo = new System.Diagnostics.ProcessStartInfo(ppviewer);
startinfo.Arguments = @"D:\Test.pps /s";
System.Diagnostics.Process pptprocess = System.Diagnostics.Process.Start(startinfo);
pptprocess.WaitForInputIdle();
SetParent(pptprocess.MainWindowHandle, this.panel1.Handle);
PPTViewer.exe で同じことを試しましたが、フォーム内で Powerpoint スライドを実行できません。ビューアーを起動しますが、フォームの外です。
ここで何か特別なことをしなければならないかどうかはわかりません。