【发布时间】:2016-01-14 12:48:45
【问题描述】:
我有一个想要使用的 COM 应用程序,但我只有该应用程序的 .exe。有没有办法从那个.exe中提取.tlb?
我尝试使用 Visual Studio 命令提示符中的tlbexp filename.exe,但出现错误,我不知道为什么:TlbExp : error TX0000 : Exception of type 'System.OutOfMemoryException' was thrown.
我正在使用带有 C++ 的 Visual Studio 2012。
编辑:
.exe 是用 C++ 编写的,后来我看到 tlbexp 是用于 .NET 的。这就是它不起作用的原因,很抱歉造成混乱。 我仍然需要找到一种从 C++ .exe 中提取 .tlb 的方法。
【问题讨论】:
-
tlbexp 只能用于 .Net 可执行文件,是这样吗?如果不使用 oleview 之类的工具来查看 typelib 是否作为资源嵌入
-
在 Visual Studio 中,使用“打开方式...”选择资源编辑器打开 EXE 文件。在那里,找到类型库资源条目并使用“导出...”保存到文件中。这将是您的 TLB 文件。
-
另外,同样可以使用标准文件资源管理 API 以编程方式完成,
LoadResource和朋友,然后是WriteFile。 -
您使用了错误的实用程序,请改用 Tlbimp.exe。
-
“打开方式”:blogs.msdn.microsoft.com/zainnab/2010/08/21/open-with 截图 2 和 3
标签: c++ visual-studio com tlbexp