2

ActiveX コントロールの統合を開発しました。問題は、開発中に新しいビルドが作成されたことです。これは、別の ActiveX クラス ID が存在することを意味します。

開発者に連絡せずに、COM オブジェクトのプログラム ID と ActiveX クラス ID を特定する方法はありますか?

オンラインで調べたところ、OLE/COM Object Viewer への参照が見つかりましたが、すべてのノードを展開する以外に検索を行う方法はないようです。

ご提案いただきありがとうございます。

4

1 に答える 1

2

COM サーバー用のタイプ ライブラリがあり、それを Oleview.exe で参照できる場合は、CLSID を確実に確認できます。ツリー内のすべてのノードを確認する必要はありません。関連するのはコクラスノードだけです。

ただし、タイプ ライブラリには ProgId が表示されません。これを見つける 1 つの方法は、Regedit.exe で [編集] + [検索] コマンドを使用し、タイプ ライブラリから取得した CLSID GUID を貼り付けることです。

SysInternals の ProcMon ユーティリティを使用すると、すべてを取得できます。それを起動し、Regsvr32.exe でサーバーを登録します。ProcMon の出力に、レジストリ キーを書き込むプログラムのトレースが表示されます。

于 2012-11-26T18:34:41.880 に答える