3

自分の dll 内から自分の dll の CSLID を取得したいと考えています。この CLSID は、アプリケーションの .rgs ファイルで宣言されています。

それぞれが異なる CLSID を持つ多数の dll を作成していますが、動的に簡単に取得できることが重要です。

誰でもその方法を教えてもらえますか?

ありがとうございました。

4

2 に答える 2

3

DLL には CLSID がありませんが、クラスにはあります。特定のクラスの GUID を取得する簡単な方法は、ウィザードを使用してクラスを追加したときに自動作成された名前を使用することです。「Example」という名前のクラスを追加したとCLSID_Exampleします。これをコードで使用できます。さらに別の方法として、__uuidof キーワードを使用してコードを記述__uuidof(Example)します。これは、#import ディレクティブを使用してタイプ ライブラリをインポートしたときにクライアント コードでも機能します。

于 2013-04-21T14:14:41.507 に答える
1
  1. GetModuleFileNamedll のパスを取得するために 使用-実行時に DLL パスを取得
  2. 次に、typelib から CLSID を取得します 。COM DLL を指定して、すべてのクラスの CLSID と対応するインターフェイス名を抽出します。
于 2013-04-21T08:04:00.510 に答える