Как получить список всех серверов автоматизации 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-объектов / интерфейсов в системе.