杀死 Winword 的特定实例
我的应用程序创建了一个嵌入 Windows 窗体中的 winword 的新实例。
new Microsoft.Office.Interop.Word.ApplicationClass()
用户完成编辑后,我关闭窗口,但 winword 实例仍在后台运行。
我怎样才能杀死那个特定的实例?我知道如何杀死机器上运行的所有实例,但这不是一个选择。
my application creates a new instance of winword embedded in a windows form.
new Microsoft.Office.Interop.Word.ApplicationClass()
Once the user finishes editing I close the window but the winword instance is still running in the background.
How can I kill that particular instance? I know how to kill all instances running on a machine but this isn't an option.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要
在代码中调用。
我必须在我的系统(它是一个 Excel 处理工具)上做的一件事是,如果退出后事情仍在继续,则执行进程终止。
You need to call
In your code.
One thing I had to do on my system (it's an excel processing tool) is do a process kill if after the Quit things were still going on.
为此有不同的方法(我认为
Marshal.ReleaseComObject
是最常用的方法)。我建议您阅读有关发布Office应用程序实例的官方文档。它可以在这里找到:Microsoft Office 的 Microsoft .NET 开发/ 释放 COM 对象
There are different methods for this (
Marshal.ReleaseComObject
is the most used I believe).I suggest you should read the official documentation about releasing Office applications instances. it's available here: Microsoft .NET Development for Microsoft Office / Releasing COM Objects
我建议您将以下代码组合/添加到 Flaviotsf 的答案中 - 这将确定正在运行的实际进程:
I Suggest you combine / add to Flaviotsf's answer the following code - which will determine what actual process is on the run:
杀死 Winword Document 的特定实例。
Kill particular instance of Winword Document.