我已经看到很多从谷歌搜索返回的帖子,但其中引用的解决方案都没有为我澄清这一点。所以,我想我会尝试自己。
在这段代码之后:
PowerPoint.Application powerPoint = new Microsoft.Office.Interop.PowerPoint.Application();
powerPoint.Visible = Office.MsoTriState.msoTrue;
Microsoft.Office.Interop.PowerPoint.Presentation ppt = null;enter code here
我可以发出 ppt.Quit();命令和 Powerpoint 将关闭,并且没有进程继续运行。
但是,如果在此代码之后我这样做:
ppt = powerPoint.Presentations.Open(localCopyOfPPT,
Microsoft.Office.Core.MsoTriState.msoCTrue,
Microsoft.Office.Core.MsoTriState.msoTriStateMixed,
Microsoft.Office.Core.MsoTriState.msoTrue);
ppt.Close();
powerPoint.Quit();
然后, Quit() 将不起作用。关于打开演示文稿的一些事情,即使我随后关闭它,也会阻止 Quit() 工作,它出现了。
有人对如何让应用程序正确退出有任何想法吗?
最佳答案
以下知识库文章可能会帮助您找到问题的根源。
http://support.microsoft.com/kb/317109
您可能需要在 ppt 实例上显式调用 System.Runtime.InteropServices.Marshal.ReleaseComObject。
关于c# - Application.Quit() 方法未能清除进程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3197263/