2012-01-04 22 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

相關問題