TypeLibraryからIDLコードをプログラムで取得します
質問
次の手順を実行するためのコードを作成しています。
regasm.exeを使用して.net .dllを登録し、.tlbを生成します
- regasm.exeを使用して.net .dllを登録し、.tlbを生成します
- TypeLibraryからIDLコードを生成し、ファイルに保存します。
- IDLコードを編集して、マイナーな変更を加えます。
- midl.exeを使用して、idlを.tlbに再コンパイルします。
あなたが推測していると確信しているように、私が立ち往生しているステップは、IDLの生成です。これは、Windows APIに付属のOleviewerを使用して手動で実行できることを知っていますが、このマニュアルステップを削除したいと思います。
とにかく、コマンドラインを介してOleviewerを操作したり、IDLコードを生成する他の方法を見つけることができないようです。
誰かがアイデアを持っていますか? IDLを生成するコードがどこかにOleviewerにある必要があることを知っています...おそらくそれにアクセスする方法がありますか?
解決
ワインには、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
所属していません StackOverflow