我有:
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 幻灯片在表单内运行。它启动查看器,但在表单之外。
不确定我是否必须在这里做一些特别的事情。