2

我正在编写代码来执行以下步骤;

注册一个 .net .dll 并使用 regasm.exe 生成一个 .tlb

  1. 注册一个 .net .dll 并使用 regasm.exe 生成一个 .tlb
  2. 从 typeLibrary 生成 IDL 代码并将其存储在文件中。
  3. 编辑 IDL 代码,进行少量更改。
  4. 使用 Midl.exe 将 IDL 重新编译为 .tlb。

我确信您已经猜到了,我坚持的步骤是 IDL 的生成。我知道这可以通过使用 Windows API 附带的 OleViewer 手动完成,但是我想删除这个手动步骤。

我似乎无法通过命令行操作 OleViewer 或找到任何其他生成 IDL 代码的方法。

有人有什么想法吗?我知道生成 IDL 的代码必须在 OleViewer 的某个地方……也许有办法访问它?

4

1 回答 1

2

Wine 有一个 oleview 的开源实现

http://source.winehq.org/git/wine.git/tree/HEAD:/programs/oleview

也许您可以使用 typelib.c 中的 idl 枚举函数

http://source.winehq.org/git/wine.git/blob/HEAD:/programs/oleview/typelib.c

于 2011-07-06T02:12:24.723 回答