使用WinAPI在WPF应用程序中调整Powerpoint Viewer的大小

本文关键字:Viewer Powerpoint 调整 WinAPI WPF 应用程序 使用 | 更新日期: 2023-09-27 18:19:34

我正在尝试将PowerPoint Viewer 2007嵌入到我的WPF应用程序中。我设法使用一个进程来启动具有指定文件的查看器,并使用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);

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

使用WinAPI在WPF应用程序中调整Powerpoint Viewer的大小

为什么不尝试MoveWindow(proc.MainWindowHandle,0,0,800600,true);?我在做类似的事情时遇到了问题,但在Word方面。SetWindowPos没有将屏幕定位在我想要的位置。