C# 使用WinAPI在WPF应用程序中调整Powerpoint查看器的大小

C# 使用WinAPI在WPF应用程序中调整Powerpoint查看器的大小,c#,wpf,winapi,powerpoint,viewer,C#,Wpf,Winapi,Powerpoint,Viewer,我正在尝试在WPF应用程序中嵌入PowerPoint Viewer 2007。我设法使用一个进程来启动具有指定文件的查看器,并使用SetParent和类似的WinAPI命令将其放入我的应用程序窗口。但是,我的应用程序窗口中的幻灯片放映总是被部分切断,因为我的应用程序窗口不是全屏的,不幸的是PowerPoint Viewer总是全屏启动。你知道如何调整幻灯片的大小,使它在我的窗口中显示得很好吗 到目前为止,这是我的代码 Process proc = Process.Start(new Proces

我正在尝试在WPF应用程序中嵌入PowerPoint Viewer 2007。我设法使用一个进程来启动具有指定文件的查看器,并使用SetParent和类似的WinAPI命令将其放入我的应用程序窗口。但是,我的应用程序窗口中的幻灯片放映总是被部分切断,因为我的应用程序窗口不是全屏的,不幸的是PowerPoint Viewer总是全屏启动。你知道如何调整幻灯片的大小,使它在我的窗口中显示得很好吗

到目前为止,这是我的代码

Process proc = Process.Start(new ProcessStartInfo(){ FileName = "C:\\Program Files\\Microsoft Office\\Office12\\PptView.exe", Arguments="/S" + "\"" + "C:\\Test.ppt" + "\"", WindowStyle=ProcessWindowStyle.Minimized});

System.Threading.Thread.Sleep(1000);
SetParent(proc.MainWindowHandle, myWindowHandle);
SendMessage(proc.MainWindowHandle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
SetWindowPos(proc.MainWindowHandle, (IntPtr)0, 0, 0, 800, 600, SWP_FRAMECHANGED);
InvalidateRect(myWindowHandle, IntPtr.Zero, false);

希望有人能帮忙。非常感谢…

为什么不试试MoveWindowproc.MainWindowHandle,0,0,800,600,true;?我在做类似的事情时遇到了一些问题,但是Word。SetWindowPos没有将屏幕定位到我想要的位置。

谢谢您的回复。我以前试过这种方法,位置确实改变了,但尺寸也有同样的问题。powerpoint查看器中的子窗口大小调整为800x600,但查看器中的幻灯片大小也相应调整。结果,幻灯片从右侧和底部被切掉。如果可以的话,我很想发布我的意思,但我是一个新用户希望你明白我的意思@bbdaffy我还试图在我的WPF应用程序中查看PPT文件。你找到解决问题的办法了吗?谢谢