COM 服务器缺少接口(interface)

标签 com interface

我有一个旧版本的可执行 COM 服务器,我需要创建一个文档来描述这个接口(interface)。我没有 .tlb 文件,也没有 .idl 文件。我可以恢复可执行 COM 服务器的接口(interface)吗?它是用VB6编写的。

最佳答案

VB6 遵循将类型库作为资源嵌入到可执行文件中的常见做法。它的好地方,它确保类型库始终与 COM 服务器实现匹配。

启动 Visual Studio 命令提示符并运行 Oleview.exe。文件 + 查看 TypeLib 并选择您的程序。它将把类型库反编译回 IDL。

另一种方法是使用 Visual Studio 的"file"+“打开”+"file"命令。您将看到程序中嵌入的资源。打开“TYPELIB”节点并右键单击该资源,导出并为其指定一个以 .tlb 结尾的名称。我认为这在 Express 版本中不起作用。

关于COM 服务器缺少接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15553339/

相关文章:

interface - "Code in Interfaces"Kotlin,他们如何避免 "deadly diamond of death"?

.net - 如何解决 Generic.IList<T>.this[] 和 IList.this[] 之间的调用歧义?

.net - 为什么 Array 类显式地而不是隐式地实现 Ilist 接口(interface)?

c# - 如何描述一个以 bool Contains(T) 方法作为接口(interface)的 T?

java - 在 C++ 中,我可以像在 Java 中一样拥有接口(interface)变量吗?

.net - COM+ 长时间运行的方法导致其他方法阻塞/挂起

internet-explorer - 如何在给定 PID 的情况下找到 IE8 窗口的 IWebBrowser2 指针?

c# - 如何避免 RCW 清理上的竞争

c++ - 从 C++ 中的 WMI(Win32_LogicalDisk 类)调用 Chkdsk -> 'Parameter is not valid'

.net - Excel 从两个不同的 AppDomain 调用 .NET 自动化服务器?