0

こんにちは私はcom/activeXを入手しました、そしてそれが登録されているかどうか知りたいです。チェックする必要があるcom/dllであることを除いて、ファイルについては何も知りません。 COMコンポーネント(EXE / DLLファイル)が登録されているかどうか(.NETを使用)を確認するにはどうすればよいですか?

COM dllがC#に登録されているかどうかを確認する方法は?

など、GUIDに基づいて検索するように指示します。しかし、GUIDを見つけるためのhwoの説明を見つけることができませんでした

4

1 に答える 1

0

その CLSID GUID の少なくとも 1 つがわからない場合は、見つけることができません。コンポーネントを使用することもできなかったので、使用できないものをテストすることはあまり役に立ちません。

これが ActiveX コンポーネントである場合は、そのタイプ ライブラリを調べることで詳細を知ることができます。これは通常、リソースとして DLL に埋め込まれます。最初に Visual Studio の [ファイル] + [開く] + [ファイル] で DLL を選択していることを確認します。TYPELIB リソースが表示された場合は、先に進んでいます。Visual Studio コマンド ライン プロンプトから、oleview.exe を実行します。File + View Typelib を開き、DLL を選択します。タイプ ライブラリで定義されているインターフェイスとコクラスが表示されます。テストするコクラスの guid の 1 つを選択します。

調べるもう 1 つの方法は、Regedit.exe を使用し、[編集] + [検索] を使用することです。DLL の名前を入力します。「LocalServer32」という名前のキーが見つかると、CLSID キーが見つかりました。

調べる別の方法は、コンポーネントを使用するプログラムを実行し、SysInternals の ProcMon ユーティリティによって生成されたトレースを観察することです。プログラムが CLSID キーを検索し、LocalServer32 キーを読み取ることがわかります。ツールがデータに溺れる傾向があるという欠点があります。

于 2012-05-30T14:33:34.020 に答える