【问题标题】:How determine the PID of a process that was started by instantiating a COM coclass?如何确定通过实例化 COM coclass 启动的进程的 PID?
【发布时间】:2009-03-31 15:31:55
【问题描述】:

有没有办法确定通过实例化 COM coclass 启动的进程的 PID?

例如:

MyApp.ApplicationClass anApp = new MyApp.ApplicationClass();

将启动进程myapp。执行此代码时,可能已经有很多 myapp 进程在运行。

我当前获取最新 PID 的解决方案感觉有点尴尬:我在创建新实例之前记住正在运行的进程列表,并在创建新实例时获取正在运行的 myapp PID 的增量。

有没有标准/更好的方法来完成这个?

编辑:PID稍后用于识别/监控创建的进程。

【问题讨论】:

  • 如果您添加您想要 PID 的原因可能会有所帮助。

标签: c# .net com interop


【解决方案1】:

您似乎还控制了MyApp 的代码?

如果是这样,我建议最好的方法是向 MyApp 添加一个名为 GetPid() 的方法,然后调用 anApp.GetPid()...

【讨论】:

  • +1 谢谢,很好的提示!说服代码所有者提供额外的方法或接口并非不可能,但是,如果可能的话,我更喜欢非侵入性的解决方案。
  • 尽管有其他意见,但我尊重您的创造性建议并接受您的回答。最后,我使用了这种侵入式解决方案。但是,我仍然希望采用非侵入式解决方案......但也许没有:-)
猜你喜欢
  • 2013-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 2012-09-20
  • 1970-01-01
  • 2010-09-05
  • 1970-01-01
相关资源
最近更新 更多