COM: Как получить все запущенные объекты - PullRequest
0 голосов
/ 04 января 2012

Вы знаете, что GetActiveObject просто может получить COM-объект первого открытого приложения.Как получить все запущенные объекты?Например, я запускаю два приложения Excel, Как получить два объекта Excel в коде C ++?

1 Ответ

1 голос
/ 04 января 2012

Как обычно говорит Ганс, существует только один экземпляр Excel.Если есть только один экземпляр, он откажется открывать один и тот же документ дважды.

Но их может быть несколько, как правило, если секунда была запущена явно.В этом случае он может открыть один и тот же файл (хотя вы получите предупреждение о блокировке).

Они могут или не могут оба появляться в таблице запущенных объектов.Используйте средство просмотра ROT или что-то подобное, чтобы определить, так ли это:

http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/ccccc9bd-f21a-4f74-a3f0-64a594fa1b16

Наконец, вы можете рассмотреть возможность использования Microsoft UI Automation:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...