如何从.exe中提取.tlb

问题描述 投票:0回答:3

我有一个想要使用的 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。

c++ visual-studio com tlbexp
3个回答
0
投票

Visual Studio 本身可用于从 EXE 或 DLL(或 OCX)中以 TLB 文件形式提取类型库。

以下是使用 Visual Studio 2022 对 Microsoft Common Controls 执行此操作的示例。

首先,运行 Visual Studio。然后使用 Open With:

打开 EXE 或 DLL

确保资源编辑器是所选工具,然后单击确定

打开后,右键单击

TYPELIB
节点下的资源并将其保存到文件中:

此处保存的二进制文件为

TLB
格式。您可以使用例如OLEView打开它。


(这个答案的灵感来自Roman R. 2016年1月14日13:34留下的问题的评论)


0
投票

可以使用标准文件资源以编程方式完成相同的操作 管理API,

LoadResource
和朋友,然后
WriteFile

(摘自Roman R. 2016年1月14日 13:39 留下的评论)


-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.