c#桌面winform通过wps调用power point文件播放,播放完立刻退出,不留痕迹.
以前一直用微软的office那个interop,愁死了,版本动不动就不对,加上国产化要求,干脆研究了一下换成wps office。原创,转载请注明海宏软件。
先安装wps office。
新建一个winform程序,
添加wps引用:
添加代码:
private void PlayPowerPoint(string filePath) {try{// 创建 PowerPoint 应用实例PowerPoint.Application pptApp = new PowerPoint.Application();pptApp.Visible = PowerPoint.MsoTriState.msoTrue;// 使 PowerPoint 可见(可选)//// 打开演示文稿PowerPoint.Presentations presentations = pptApp.Presentations;PowerPoint.Presentation pptPres = presentations.Open(filePath, WithWindow: PowerPoint.MsoTriState.msoTrue);//// 开始播放演示文稿//pptPres.SlideShowSettings.Run();//// 注意:如果要让窗体保持活动状态,可以调用 Application.Activate() 或其他方式保持窗口在前台。//// pptApp.Activate(); // 使 PowerPoint 窗口在前台(在某些情况下可能需要)// 获取幻灯片放映配置PowerPoint.SlideShowSettings showSettings = pptPres.SlideShowSettings;showSettings.LoopUntilStopped =PowerPoint.MsoTriState.msoFalse; // 禁用循环播放 showSettings.StartingSlide = 1; // 从第一页开始 showSettings.EndingSlide = pptPres.Slides.Count; // 到最后一页结束 // 启动放映并获取窗口对象 PowerPoint.SlideShowWindow showWindow = showSettings.Run();// 定义事件处理程序 pptApp.SlideShowEnd += (Pres) =>{// 关闭 PPT 并释放资源try{Pres.Close();pptApp.Quit();}catch (Exception x){}Marshal.ReleaseComObject(pptPres);Marshal.ReleaseComObject(pptApp);};}catch (Exception ex){MessageBox.Show("Error opening PowerPoint presentation: " + ex.Message);} }
按钮引用:
private void button2_Click(object sender, EventArgs e) {PlayPowerPoint("d:\\test.pptx"); }
效果杠杠的!