4

我想查看“.ocx”文件的接口。像这样:

在此处输入图像描述

但是对于一些 .ocx,我只能看到 5 个函数,像这样:

在此处输入图像描述

问题是:我怎样才能看到这些ocx文件的接口。我试过这个:

A.
a) 我想注册它并在 Visual Studio 中查看它。但是当我注册它时,会出现错误“LoadLibrary(path:\filename.ocx) failed”。像这样:

在此处输入图像描述

b)然后我用'Dependency Walker'打开ocx,发现文件依赖没有DLL文件。 在此处输入图像描述

c) 如何注册?

B. 我使用“Dll Export Viewer”,现在我可以看到函数的名称,但仍然无法获取函数的参数。如何获取函数的参数?

4

4 回答 4

4

您是否尝试过 OLE/COM 对象查看器?http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5233b70d-d9b2-4cb5-aeb6-45664be858b6&displaylang=en

于 2011-03-16T08:01:29.390 回答
1

使用Type Library Importer导入类型库。

由于您使用的是 C++,因此使用#import.

代码项目文章提供了逐步的过程。

于 2011-03-16T08:00:36.080 回答
1

该接口在类型库 (TLB) 中进行了描述。您的 DLL(OCX 是一个 DLL)应该在 TypeLibrary 资源中包含 TLB。您可以提取此 TLB 并获取接口描述。这项工作也应该由 OLE View 完成。

如果您的 DLL 不包含 TLB 并且没有提供 TLB 文件,您将不会获得接口描述。

编辑: “DLL 导出查看器”之类的工具显示的信息少于 OLE 视图。值得使用微软提供的工具。

当您的文件截图中有修饰名称时,您将获得带有“Microsoft (R) C++ Name Undecorator”(undname.exe)的函数签名

于 2011-03-16T07:43:24.353 回答
0

很久以前,我用过这个工具,叫做 XRay:X-Ray Vision。我相信它使用起来非常简单,并且仍然可以在 Windows 7 中使用。但与其他工具一样,它需要DLL/OCX 嵌入类型库,或者你需要找到对应的。

于 2011-03-16T08:24:20.103 回答