3

COM ライブラリ (DLL および OCX) が含まれている可能性のあるフォルダーを調べる必要がある .NET アプリがあります。

サードパーティのライブラリを使用せずに .NET でこれを行う簡単な方法はありますか?

4

2 に答える 2

5

これはうまくいくはずです。c:\windows\system32\tlbinf32.dllへの参照が必要ですが、サードパーティのコンポーネントではないため、問題ないと思います。

Imports TLI 'from c:\windows\system32\tlbinf32.dll

Dim reglib As TLI.TLIApplication = New TLI.TLIApplicationClass()
Dim DLLPath As String = "c:\mycomponent.ocx"
MsgBox(reglib.TypeLibInfoFromFile(DLLPath).GUID.ToString())
于 2010-05-28T16:56:57.160 に答える
2

これを行うには、相互運用機能 (P/Invoke と COM の両方) を使用する必要があります。まず、LoadTypeLib を呼び出してタイプ ライブラリの ITypeLib インターフェイスを取得する必要があります。

そこから、ライブラリの GUID を取得するため、またはライブラリで定義されている任意の CLSID または IID インスタンスを取得するために、そのメソッドを使用する必要があります。

于 2010-05-28T16:42:35.917 に答える