4

「.ocx」ファイルのインターフェースを見たいのですが。このような:

ここに画像の説明を入力してください

しかし、一部の.ocxについては、次のように5つの関数しか表示されません。

ここに画像の説明を入力してください

問題は、これらのocxファイルのインターフェースをどのように確認できるかということです。私はこれを試しました:

A.
a)登録してVisualStudioで表示したい。しかし、登録すると「LoadLibrary(path:\ filename.ocx)failed」というエラーが表示されます。このような:

ここに画像の説明を入力してください

b)次に、「Dependency Walker」を使用してocxを開き、ファイルの依存関係にDLLファイルがないことを確認しました。 ここに画像の説明を入力してください

c)どうすれば登録できますか?

B.「DLLエクスポートビューア」を使用すると、関数の名前は表示されますが、関数のパラメータを取得できません。関数のパラメーターを取得するにはどうすればよいですか?

4

4 に答える 4

4

OLE / COM Object Viewerを試しましたか?http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5233b70d-d9b2-4cb5-aeb6-45664be858b6&displaylang=en

于 2011-03-16T08:01:29.390 に答える
1

インターフェイスはタイプライブラリ(TLB)で説明されています。DLL(OCXはDLL)には、TypeLibraryリソースにTLBが含まれている必要があります。このTLBを抽出して、インターフェイスの説明を取得できます。この作業もOLEビューで実行する必要があります。

DLLにTLBが含まれておらず、TLBファイルが提供されていない場合、インターフェイスの説明は取得されません。

編集:「DLLエクスポートビューア」などのツールは、OLEビューよりも少ない情報を表示しました。Microsoftが提供するツールを使用する価値があります。

ファイルのスクリーンショットに装飾された名前がある場合、「Microsoft(R)C ++ Name Undecorator」(undname.exe)で関数の署名を取得します。

于 2011-03-16T07:43:24.353 に答える
1

タイプライブラリインポーターを使用してタイプライブラリをインポートします。

C ++を使用しているので、これを行うのがおそらく最も簡単#importです。

このCodeProjectの記事では、手順を追って説明しています。

于 2011-03-16T08:00:36.080 に答える
0

昔、私はXRay:X- RayVisionというこのツールを使用していました。使い方はとても簡単で、Windows7でも動作すると思います。ただし、他のツールと同様に、DLL / OCXでタイプライブラリを埋め込む必要があります。そうでない場合は、対応するものを見つける必要があります。

于 2011-03-16T08:24:20.103 に答える