有一个我要与之交谈的COM组件。它由.exe而不是.dll公开。
我已经引用了它,并且效果很好:
ISomeComApp app = new SomeComApp(); // no problem
但是,可能有SomeComApp
的多个实例。有人猜测,SomeComApp
更新时会得到哪个实例,即,当SomeComApp
的多个实例正在运行时,我无法知道我将获得哪个实例。这是SomeComApp
的设计,这不是我的想法。
每当我新建一个引用时,都会创建运行时可调用包装(RCW)(对吗?)。
我想在SomeComApp
中捕获Process
,所以我可以监听其Exited
事件。当SomeComApp
运行单个实例时,我可以正常工作。通过在MainWindowTitle
上进行迭代,我什至设法在运行> 1时识别了它。
这似乎很笨拙。我的问题是:有什么方法可以从RCW中获取基础流程吗?