【问题标题】:vb.net How can i kill the application that i created using createObject()vb.net 我怎样才能杀死我使用 createObject() 创建的应用程序
【发布时间】:2013-02-27 18:26:00
【问题描述】:

我在 Vb 中使用CreateObject(progId) 来创建pdfDOcument。 但问题是我完成并关闭文档并发布后,我该如何关闭该过程?

在我创建对象之前,我如何引用该进程并知道它是否已被用户打开?如果在我创建对象(pdfDocument)之前进程没有运行,我该如何终止进程?

有比使用CreateObject()更好的策略吗?

【问题讨论】:

  • CreateObject 不创建应用程序/进程。它只是用 ProgID 实例化一个自动化对象。这可能就是你没有得到任何帮助的原因。问题实际上是关于“AcroExch”包装器。

标签: vb.net createobject


【解决方案1】:

我们找到的解决方案是在创建任何应用程序对象之前创建应用程序对象。

例如:

dim objApp as object = CreateObject("AcroExch.App")
dim objDoc as Object = CreateObject("AcroExch.document")

...
objApp.CloseAllDocuments()

System.Runtime.InteropServices.Marshal.ReleaseComObject(objApp)
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDoc)

但下次我永远不会使用CreateObject。 我会尝试使用框架类(尤其是 RuntimeReflection 用于此类示例)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-15
    • 2021-03-04
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 2018-07-17
    相关资源
    最近更新 更多