Есть компонент COM, с которым я разговариваю.Он открывается с помощью .exe, а не .dll.
Я ссылался на него, и он отлично работает:
ISomeComApp app = new SomeComApp(); // no problem
Однако может быть несколько экземпляров SomeComApp
.То, что я получаю при обновлении SomeComApp
, является чьим-либо предположением, т. Е. Когда запущено несколько экземпляров SomeComApp
, у меня нет возможности узнать, какой экземпляр я получу.Это дизайн SomeComApp
, это не моя идея.
Всякий раз, когда я создаю ссылку, создается Runtime Callable Wrapper (RCW) (верно?).
Iхочу захватить SomeComApp
в Process
, чтобы я мог прослушать событие Exited
.Я понял, что работает, когда SomeComApp
запускает один экземпляр.Мне даже удалось идентифицировать это, когда> 1 работал, итерируя по MainWindowTitle
.
Это кажется очень неуклюжим.Мой вопрос: есть ли способ получить базовый процесс от RCW?