Доброго времени суток. Подскажите пожалуйста где копать, в данной ситуации:
Есть приложение которое себя регистрирует как СОМ сервер.
и регистрируется как активное RegisterActiveObject.
Может быть запущенно несколько экземпляров этого приложения, но активным будет последний (как я понимаю).
Есть некое приложение которому необходимо оперировать интерфейсами всех запущенных экземпляров. Например перекачивая данные
из одного в другой. Вопрос: Каким образом можно получить интерфейсы всех запущенных экземпляров, а не только активного ? Есть ли для этого какое то стандартное решение, или придется придумывать извращения ?
Заранее премного благодарен.
Re: Как получить интерфейсы всех запущенных экземпляров?
Здравствуйте, VolandBSB, Вы писали:
VBS>Есть приложение которое себя регистрирует как СОМ сервер и регистрируется как активное RegisterActiveObject. VBS>Может быть запущенно несколько экземпляров этого приложения, но активным будет последний (как я понимаю). VBS>Есть некое приложение которому необходимо оперировать интерфейсами всех запущенных экземпляров. Например перекачивая данные из одного в другой. VBS>Вопрос: Каким образом можно получить интерфейсы всех запущенных экземпляров, а не только активного ? Есть ли для этого какое-то стандартное решение, или придется придумывать извращения ?
В твоем случае механизм ActiveObject бесполезен, т.к. он не обеспечивает перечисление работающих приложений. Нужно регистрировать приложения через другой моникер (для справки: ActiveObject использует Item моникер "!{CLSID}", одинаковый для всех твоих приложений). Например, через имя открытого документа или через другую уникальную строчку для каждого приложения.
Здравствуйте, Vi2, Вы писали:
Vi2>В твоем случае механизм ActiveObject бесполезен, т.к. он не обеспечивает перечисление работающих приложений. Нужно регистрировать приложения через другой моникер (для справки: ActiveObject использует Item моникер "!{CLSID}", одинаковый для всех твоих приложений). Например, через имя открытого документа или через другую уникальную строчку для каждого приложения.
Vi2>Посмотри здесь информацию по CreateItemMoniker.