Как получить список всех серверов автоматизации COM?

Я пытаюсь вызывать различные интерфейсы API, представленные как COM из Silverlight, что возможно только в том случае, если они являются частью зарегистрированного сервера автоматизации и имеют соответствующий progid. Word, например, будет "Word.Application". Как мне получить список всех зарегистрированных серверов с соответствующими им прогами?

Я нашел оснастку "Службы компонентов", но не могу найти в ней проги, о которых я знаю. Изменить: оснастка выглядит так, как будто она должна быть там, я нашел окно свойств, которое показывает идентификаторы приложений для некоторых приложений COM+ и DCOM, но я не могу найти очевидные серверы, такие как Word. Дерево COM+ содержит только полдюжины записей.

2 ответа

Решение

Список серверов автоматизации находится в реестре под HKEY_CLASSES_ROOT. В Silverlight имя ключа - это progid, а CLDID - это значение подраздела с именем CLSID.

Я нашел это после того, как Ханс Пассант сделал комментарий к моему вопросу, упомянув реестр.

PrimalScript, разработанный Sapien Technologies Inc., имеет браузер объектов, который отлично справляется со списком всех используемых COM-объектов / интерфейсов в системе.

Другие вопросы по тегам