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 に答える