Aximp.exe (Windows フォーム ActiveX コントロール インポーター)
ActiveX コントロール インポーターは、ActiveX コントロール用の COM タイプ ライブラリに属する型定義を Windows フォーム コントロールに変換します。
Windows フォームがホストできるのは、Control から派生するクラスである Windows フォームのコントロールだけです。 Aximp.exe は Windows フォーム上でホストできる ActiveX コントロール用のラッパー クラスを生成します。 このため、他の Windows フォーム コントロールに適用できるのと同じデザイン時サポートとプログラミング手順を使用できます。
ActiveX コントロールをホストするには、AxHost から派生するラッパー コントロールを生成する必要があります。 ラッパー コントロールには、基になる ActiveX コントロールのインスタンスが 1 つ含まれます。 このインスタンスは、ActiveX コントロールとの通信方法を認識しますが、Windows フォーム コントロールとして表示されます。 生成されたコントロールは、ActiveX コントロールをホストし、そのプロパティ、メソッド、およびイベントを、生成されたコントロールのプロパティ、メソッド、およびイベントとして公開します。
このツールは、Visual Studio と共に自動的にインストールされます。 ツールを実行するには、、Visual Studio 開発者コマンド プロンプトまたは Visual Studio Developer PowerShell を使用します。
コマンド プロンプトに次のように入力します。
構文
aximp [options]{file.dll | file.ocx}
Remarks
引数 | 説明 |
---|---|
file | 変換する ActiveX コントロールを含むソース ファイルの名前。 引数 file の拡張子は .dll または .ocx であることが必要です。 |
オプション | 説明 |
---|---|
/delaysign |
Aximp.exe が遅延署名を使用して、生成されたコントロールに名前を割り当てるように指定します。 /keycontainer: 、/keyfile: 、または /publickey: オプションのいずれかで、このオプションを指定する必要があります。 遅延署名プロセスの詳細については、「アセンブリへの遅延署名」を参照してください。 |
/help |
このツールのコマンド構文とオプションを表示します。 |
/keycontainer: containerName |
containerName で指定されたキー コンテナーの公開キーと秘密キーのペアを使用して、生成されたコントロールに厳密な名前で署名します。 |
/keyfile: filename |
filename にある発行者の正式な公開キーと秘密キーのペアを使用して、生成されたコントロールに厳密な名前で署名します。 |
/nologo |
Microsoft 著作権情報を表示しません。 |
/out: filename |
作成するアセンブリの名前を指定します。 |
/publickey: filename |
filename で指定されたファイルの公開キーを使用して、生成されたコントロールに厳密な名前で署名します。 |
/rcw: filename |
新しいものを生成する代わりに、指定したランタイム呼び出し可能ラッパーを使用します。 複数のインスタンスを指定できます。 現在のディレクトリは相対パスに使用されます。 詳細については、「ランタイム呼び出し可能ラッパー」 を参照してください。 |
/silent |
成功メッセージを表示しません。 |
/source |
Windows フォーム ラッパーの C# ソース コードを生成します。 |
/verbose |
詳細出力モードを指定します。進行状況に関する追加情報が表示されます。 |
/? |
このツールのコマンド構文とオプションを表示します。 |
Aximp.exe は、ActiveX コントロール タイプ ライブラリの全体を一度に変換し、元のタイプ ライブラリの中で定義されていたタイプのための共通言語ランタイム メタデータとコントロール実装を含む、アセンブリのセットを生成します。 生成されるファイルには、次のパターンに従って名前が付けられます。
COM 型の共通言語ランタイム プロキシ: progid.dll
ActiveX コントロール用の Windows フォーム プロキシ (Ax は ActiveX を表します): Axprogid.dll
Note
ActiveX コントロールのメンバーの名前が .NET Framework で定義された名前と一致する場合、Aximp.exe は、AxHost 派生クラスを作成するときにメンバー名の前に "Ctl" を付けます。 たとえば、ActiveX コントロールに "Layout" というメンバーが含まれている場合、.NET Framework 内で Layout イベントが定義されているため、メンバー名は、AxHost 派生クラスでは "CtlLayout" に変更されます。
これらの生成されたファイルは、Ildasm.exe (IL 逆アセンブラー) などのツールでチェックできます。
Aximp.exe を使用して ActiveX WebBrowser コントロール (shdocvw.dll) 用の .NET アセンブリを生成する方法はサポートされていません。
shdocvw.dll に対して Aximp.exe を実行すると、ツールが実行されるディレクトリに shdocvw.dll という名前の別のファイルが常に作成されます。 生成されたこのファイルをドキュメント ディレクトリに配置すると、Windows Explorer で問題が発生する場合があります。 コンピューターを再起動すると、Windows では、shdocvw.dll のコピーを見つけるために、Documents ディレクトリ、system32 ディレクトリの順に確認が行われます。 Windows では、Documents で見つけたコピーを使用して、マネージド ラッパーの読み込みが試行されます。 Windows エクスプローラーは、system32 ディレクトリにある shdocvw.dll のバージョンのレンダリング エンジンに依存しているため、正しく機能しません。 このような問題が発生したら、Documents ディレクトリにある shdocvw.dll を削除して、コンピューターを再起動します。
例
Media Player コントロール msdxm.ocx
の MediaPlayer.dll と AxMediaPlayer.dll を生成するコマンドを次に示します。
aximp c:\systemroot\system32\msdxm.ocx
関連項目
.NET