如何浏览ActiveX DLL的类和方法?

时间:2022-01-18 10:55:01

Basically, what I want to is be able to explore an ActiveX DLL. I normally fire up VB 6, add the DLL to the "References" of the project, and use Object Explorer.

基本上,我想要的是能够探索ActiveX DLL。我通常启动VB 6,将DLL添加到项目的“引用”,并使用对象资源管理器。

However, in this particular machine I can't install VB / VS.
I'm sure there's a tool out there that does this. Does anyone know of one?

但是,在这个特定的机器上我无法安装VB / VS.我确信有一个工具可以做到这一点。有谁知道吗?

Thanks

3 个解决方案

#1


3  

Is it possible to download the component from that machine and examine it locally in Visual Studio? (That'd be my first suggestion.) (And BTW, the .NET versions of Visual Studio also feature a VB6-like Object Explorer which works nicely for this.)

是否可以从该计算机下载组件并在Visual Studio中本地检查它? (这是我的第一个建议。)(顺便说一句,Visual Studio的.NET版本还具有类似VB6的对象资源管理器,它可以很好地用于此。)

Alternatively, and it's not free, but you might try ActiveXplorer. (I haven't tried this, but it looks promising.) (Discontinued)

或者,它不是免费的,但您可以尝试使用ActiveXplorer。 (我没试过,但看起来很有希望。)(停产)

#2


12  

If the machine has Microsoft Office installed, you can go into the built-in Visual Basic for Applications IDE and load the object there:

如果计算机安装了Microsoft Office,则可以进入内置的Visual Basic for Applications IDE并在其中加载对象:

Tools menu -> Macro -> Visual Basic Editor (or press Alt+F11)

工具菜单 - >宏 - > Visual Basic编辑器(或按Alt + F11)

Then when inside the VBA window, Tools menu -> References -> Browse to locate your DLL

然后在VBA窗口内的“工具”菜单 - >“引用” - >“浏览”中找到您的DLL

and View menu -> Object Browser to view the object's content (or press F2)

和视图菜单 - >对象浏览器查看对象的内容(或按F2)

#3


7  

I've used Microsoft's OLE/COM Object Viewer for this. It used to be installed with older versions of Visual Studio, and is still part of the Windows SDK.

我已经使用了Microsoft的OLE / COM对象查看器。它曾经与旧版本的Visual Studio一起安装,并且仍然是Windows SDK的一部分。

It also seems to be available separately -- this is from an older version of the Windows SDK, but I don't imagine this tool has changed much recently.

它似乎也是单独提供的 - 这是来自旧版本的Windows SDK,但我不认为这个工具最近发生了很大变化。

To view the type information for a particular DLL or OCX, File, View TypeLib... is the option you're looking for. You can also dig through the Controls group in the main window to view details on a registered control. Right-click the entry for the control and click View Type Information to see details on the types and methods it exposes.

要查看特定DLL或OCX的类型信息,File,View TypeLib ...是您正在寻找的选项。您还可以浏览主窗口中的“控件”组以查看已注册控件的详细信息。右键单击该控件的条目,然后单击“查看类型信息”以查看其公开的类型和方法的详细信息。

This will show rather more information than VB6 would. If you're looking at an ActiveX control, the coclass and dispinterface sections of the type library display are the things to look at.

这将显示比VB6更多的信息。如果您正在查看ActiveX控件,则需要查看类型库显示的coclass和dispinterface部分。

(There's also an Expert Mode option in the View menu -- this will show you pretty much everything stored in the Registry to do with COM, OLE and ActiveX. This is generally rather a lot of information...)

(视图菜单中还有一个专家模式选项 - 这将显示存储在注册表中的所有内容与COM,OLE和ActiveX有关。这通常是相当多的信息.​​..)

#1


3  

Is it possible to download the component from that machine and examine it locally in Visual Studio? (That'd be my first suggestion.) (And BTW, the .NET versions of Visual Studio also feature a VB6-like Object Explorer which works nicely for this.)

是否可以从该计算机下载组件并在Visual Studio中本地检查它? (这是我的第一个建议。)(顺便说一句,Visual Studio的.NET版本还具有类似VB6的对象资源管理器,它可以很好地用于此。)

Alternatively, and it's not free, but you might try ActiveXplorer. (I haven't tried this, but it looks promising.) (Discontinued)

或者,它不是免费的,但您可以尝试使用ActiveXplorer。 (我没试过,但看起来很有希望。)(停产)

#2


12  

If the machine has Microsoft Office installed, you can go into the built-in Visual Basic for Applications IDE and load the object there:

如果计算机安装了Microsoft Office,则可以进入内置的Visual Basic for Applications IDE并在其中加载对象:

Tools menu -> Macro -> Visual Basic Editor (or press Alt+F11)

工具菜单 - >宏 - > Visual Basic编辑器(或按Alt + F11)

Then when inside the VBA window, Tools menu -> References -> Browse to locate your DLL

然后在VBA窗口内的“工具”菜单 - >“引用” - >“浏览”中找到您的DLL

and View menu -> Object Browser to view the object's content (or press F2)

和视图菜单 - >对象浏览器查看对象的内容(或按F2)

#3


7  

I've used Microsoft's OLE/COM Object Viewer for this. It used to be installed with older versions of Visual Studio, and is still part of the Windows SDK.

我已经使用了Microsoft的OLE / COM对象查看器。它曾经与旧版本的Visual Studio一起安装,并且仍然是Windows SDK的一部分。

It also seems to be available separately -- this is from an older version of the Windows SDK, but I don't imagine this tool has changed much recently.

它似乎也是单独提供的 - 这是来自旧版本的Windows SDK,但我不认为这个工具最近发生了很大变化。

To view the type information for a particular DLL or OCX, File, View TypeLib... is the option you're looking for. You can also dig through the Controls group in the main window to view details on a registered control. Right-click the entry for the control and click View Type Information to see details on the types and methods it exposes.

要查看特定DLL或OCX的类型信息,File,View TypeLib ...是您正在寻找的选项。您还可以浏览主窗口中的“控件”组以查看已注册控件的详细信息。右键单击该控件的条目,然后单击“查看类型信息”以查看其公开的类型和方法的详细信息。

This will show rather more information than VB6 would. If you're looking at an ActiveX control, the coclass and dispinterface sections of the type library display are the things to look at.

这将显示比VB6更多的信息。如果您正在查看ActiveX控件,则需要查看类型库显示的coclass和dispinterface部分。

(There's also an Expert Mode option in the View menu -- this will show you pretty much everything stored in the Registry to do with COM, OLE and ActiveX. This is generally rather a lot of information...)

(视图菜单中还有一个专家模式选项 - 这将显示存储在注册表中的所有内容与COM,OLE和ActiveX有关。这通常是相当多的信息.​​..)