Как я могу просматривать классы и методы DLL ActiveX? - PullRequest
11 голосов
/ 04 ноября 2008

По сути, я хочу изучить ActiveX DLL. Обычно я запускаю VB 6, добавляю DLL в «References» проекта и использую Object Explorer.

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

Спасибо

Ответы [ 3 ]

12 голосов
/ 04 ноября 2008

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

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

Затем, находясь в окне VBA, меню Сервис -> Ссылки -> Обзор, чтобы найти свою DLL

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

8 голосов
/ 04 ноября 2008

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

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

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

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

(В меню «Вид» также есть опция «Режим эксперта» - она ​​покажет вам практически все, что хранится в реестре для COM, OLE и ActiveX. Обычно это довольно много информации ...)

3 голосов
/ 04 ноября 2008

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

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

...