Как просмотреть классы и методы ActiveX DLL?

В принципе, я хочу, чтобы можно было изучить ActiveX DLL. Обычно я запускаю VB 6, добавляю DLL в "Ссылки" проекта и использую Object Explorer.

Однако на этой конкретной машине я не могу установить VB/VS.
Я уверен, что там есть инструмент, который делает это. Кто-нибудь знает об этом?

Спасибо

Ответ 1

Можно ли загрузить компонент с этой машины и проверить его локально в Visual Studio? (Это было бы моим первым предложением.) (И BTW,.NET-версии Visual Studio также имеют объект VB6-подобный Object Explorer, который прекрасно подходит для этого.)

Альтернативно, и это не бесплатно, но вы можете попробовать ActiveXplorer. (Я не пробовал, но выглядит многообещающе.)

Ответ 2

Если на компьютере установлен Microsoft Office, вы можете войти в встроенную среду Visual Basic для приложений и загрузить туда объект:

Меню "Сервис" → Макро → Редактор Visual Basic (или нажмите Alt + F11)

Затем, когда внутри окна VBA, меню "Сервис" → "Ссылки" → "Обзор", найдите свою DLL

и меню "Вид" → "Обозреватель объектов" для просмотра содержимого объекта (или нажмите F2)

Ответ 3

Я использовал Microsoft OLE/COM Object Viewer для этого. Раньше он устанавливался со старыми версиями Visual Studio и по-прежнему входит в состав Windows SDK.

Он также выглядит доступен отдельно - это из старой версии SDK Windows, но я не думаю, что этот инструмент недавно изменилось.

Для просмотра информации о типе для конкретной DLL или OCX, File, View TypeLib... - это тот вариант, который вы ищете. Вы также можете прорыть группу Controls в главном окне, чтобы просмотреть сведения о зарегистрированном элементе управления. Щелкните элемент управления правой кнопкой мыши и нажмите "Просмотреть информацию типа", чтобы просмотреть сведения о типах и методах, которые он предоставляет.

Это будет показывать больше информации, чем VB6. Если вы посмотрите на элемент управления ActiveX, то на нем будут отображаться разделы класса и диссипации на дисплее библиотеки типов.

(В меню "Вид" также есть опция "Экспертный режим" - это будет отображать почти все, что хранится в реестре, для COM, OLE и ActiveX. Это, как правило, довольно много информации...)