2012-01-04 24 views
1

我试图在我的WPF应用程序中嵌入PowerPoint Viewer 2007。我设法使用一个Process来启动查看器并指定一个文件,并使用SetParent和WinAPI命令将它放入我的应用程序窗口中。但是我的应用程序窗口中的幻灯片总是被部分截断,因为我的应用程序窗口不是全屏幕,不幸的是PowerPoint Viewer总是以全屏方式启动。任何想法如何调整幻灯片的大小,使其很好地显示在我的窗口中?使用WinAPI在WPF应用程序中调整Powerpoint查看器的大小

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

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); 

希望有人可以帮忙。非常感谢...

回答

0

为什么不尝试MoveWindow(proc.MainWindowHandle,0,0,800,600,true);?我有类似的问题,但与Word。 SetWindowPos没有放置我想要的屏幕。

+0

感谢您的回复。我之前尝试过这种方法,但立场确实有所改变,但与规模相同。子窗口(powerpoint viewer)的大小调整为800x600,但浏览器中的幻灯片显示会相应调整大小。结果,幻灯片被从右边和底部切掉。如果可以的话,我很乐意发布我的意思,但我是一个新用户。 :P所以希望你明白我的意思。 :) – bbdaffy 2012-01-04 08:09:53

+0

@bbdaffy我正在尝试在我的WPF应用程序中查看PPT文件。你有没有解决你的问题?谢谢 – Meirion 2013-10-20 16:04:39

相关问题