【问题标题】:How can I extract a .tlb from a .exe如何从 .exe 中提取 .tlb
【发布时间】: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


【解决方案1】:

我已经使用了这个实用程序https://www.nirsoft.net/utils/resources_extract.html 只需检查类型库选项即可。 它现在适用于所有情况,但适用于许多 dll 和 exe

【讨论】:

    猜你喜欢
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 2013-08-25
    • 2013-01-16
    相关资源
    最近更新 更多