vb.net - 在 .NET 中获取使用 CreateObject 启动的进程的进程 ID

标签 vb.net com pid

我将 VB.NET 用于使用 CreateObject 启动某些进程的 Web 应用程序,如下所示:

Dim AVObject = CreateObject("avwin.application")

一切都完成后,使用适当的发布功能将关闭并停止,但是,由于某种原因,该过程仍然存在。

有什么方法可以获取已启动进程的进程 ID,以便在终止前明确杀死它?

谢谢

最佳答案

我从来没有遇到过这个问题的具体解决方案,但从逻辑上讲,我将使用以下伪逻辑创建一个解决方法(我认为它应该在受控环境中工作)

  • 将 CreateObject 包装在 CustomCreateObject(...)
  • 在下面的方法中以相同的顺序执行
  • 调用 System.Diagnostics.Process.GetProcessesByName(nameOfYourProcess),存储所有进程 ID
  • 调用 CreateObject (...)
  • 再次调用 GetProcessesByName,现在获取新的进程 ID 列表
  • 在后面的列表中而不是在第一个列表中的进程 id 将是您所追求的。返回它以便调用者知道要监视的进程 ID。
  • 关于vb.net - 在 .NET 中获取使用 CreateObject 启动的进程的进程 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2431736/

    相关文章:

    vb.net - 简单的Emgucv网络摄像头提要似乎内存泄漏

    使用安装项目安装时未显示 Windows 服务

    .net - 方法摘要XML注释的良好做法

    algorithm - 具有较大且不可预测异常的 PID 控制回路

    c - 修改Erlang VM Pid

    c# - 在 ASP.NET 中使用 Ext JS

    c++ - 为什么 CoCreateInstance 在某些 Windows 上返回 REGDB_E_CLASSNOTREG?

    c# - VBA 和 "Class doesn' t 支持自动化或不支持预期的界面”

    c++ - 如何将 CoInitializeEx 与 ShellExecuteEx 一起使用

    multithreading - 将创建多少个进程和线程?