Как узнать идентификатор COM-проги?

Я хочу получить доступ к библиотеке COM через позднее связывание.
Как я могу узнать ее progID?

Type oClassType = Type.GetTypeFromProgID("THE MISSING PROGID");

person Marc    schedule 13.08.2009    source источник
comment
Больше хороших ответов на этот вопрос: stackoverflow.com/questions/1253368   -  person Kim Gräsman    schedule 16.08.2009


Ответы (1)


progID обычно имеет форму Library.Class, вы можете просмотреть, какие классы предоставляет COM-библиотека, используя oleview.

В oleview вам нужна функция View TypeLib (три маленьких красных треугольника). Имя библиотеки будет вверху, и вы захотите использовать имя класса, как показано в разделе CoClasses.

person cmsjr    schedule 13.08.2009
comment
Большое спасибо. Мне просто пришлось вручную скачать (и зарегистрировать) iviewers.dll с какого-то сайта через Google. Почему-то эта DLL не была включена в загрузку, и я также не смог найти ее в системе. - person Marc; 14.08.2009
comment
В этом ответе была мертвая ссылка для получения oleview, поэтому мне потребовалось некоторое время, чтобы найти ее. В интересах людей, которые найдут этот ответ позже, если у вас установлена ​​Visual Studio, oleview, вероятно, уже находится в вашей системе под Program Files (x86)\Windows Kits\x.x\bin\x86. Если у вас еще не установлен oleview, его можно получить, установив компонент SDK Tools предпочитаемой вами версии Windows SDK: microsoft.com/en-us/search/DownloadResults.aspx?q=Windows%20SDK - person Hydrargyrum; 07.05.2014
comment
Спасибо, что отследили это. - person cmsjr; 09.05.2014