Windows Forms ActiveX Control Importer-Tool (Aximp.exe)
Das ActiveX Control Importer-Tool konvertiert Typdefinitionen in einer COM-Typbibliothek für ein ActiveX-Steuerelement in ein Steuerelement für Windows Forms.
Windows Forms können nur Windows Forms-Steuerelemente hosten, d. h. Klassen, die von Control abgeleitet werden. Aximp.exe generiert eine Wrapperklasse für ein ActiveX-Steuerelement, für das ein Windows Form als Host fungieren kann. Daher stehen Ihnen dieselbe Unterstützung zur Entwurfszeit und dieselben Programmierungsmethoden zur Verfügung, die auch für andere Steuerelemente für Windows Forms gelten.
Um das ActiveX-Steuerelement zu hosten, müssen Sie ein Wrappersteuerelement generieren, das von AxHost ableitet. Dieses Wrappersteuerelement enthält eine Instanz des zugrunde liegenden ActiveX-Steuerelements. Es kann mit dem ActiveX-Steuerelement kommunizieren, wird jedoch als Steuerelement für Windows Forms angezeigt. Dieses generierte Steuerelement fungiert als Host für das ActiveX-Steuerelement und macht dessen Eigenschaften, Methoden und Ereignisse als seine eigenen verfügbar.
aximp [options]{file.dll | file.ocx}
Hinweise
Argument | Beschreibung |
---|---|
file |
Der Name der Quelldatei mit dem zu konvertierenden ActiveX-Steuerelement. Das Dateiargument muss die Erweiterung .dll oder .ocx aufweisen. |
Option | Beschreibung |
---|---|
/delaysign |
Veranlasst Aximp.exe, das resultierende Steuerelement verzögert zu signieren. Sie müssen diese Option entweder zusammen mit der Option /keycontainer:, /keyfile: oder /publickey: angeben. Weitere Informationen zum verzögerten Signieren finden Sie unter Verzögertes Signieren einer Assembly. |
/help |
Zeigt die Befehlssyntax und die Optionen für das Tool an. |
/keycontainer: containerName |
Signiert das resultierende Steuerelement unter Verwendung des öffentlichen/privaten Schlüsselpaars, das aus dem mit containerName angegebenen Schlüsselcontainer stammt, mit einem starken Namen. |
/keyfile: filename |
Signiert das resultierende Steuerelement unter Verwendung des öffentlichen/privaten Schlüsselpaars des Herausgebers, das aus filename stammt, mit einem starken Namen. |
/nologo |
Unterdrückt die Anzeige des Startbanners von Microsoft. |
/out: filename |
Legt den Namen der zu erstellenden Assembly fest. |
/publickey: filename |
Signiert das resultierende Steuerelement unter Verwendung des öffentlichen Schlüssels, der in der durch filename angegebenen Datei enthalten ist, mit einem starken Namen. |
/silent |
Unterdrückt die Anzeige von Erfolgsmeldungen. |
/source |
Erstellt C#-Quellcode für den Windows Forms-Wrapper. |
/verbose |
Gibt den ausführlichen Modus an und zeigt zusätzliche Verlaufsinformationen an. |
/? |
Zeigt Befehlssyntax und Optionen für das Tool an. |
Aximp.exe konvertiert jeweils eine vollständige Typbibliothek für ActiveX-Steuerelemente. Es erstellt eine Gruppe von Assemblys, die die Metadaten der Common Language Runtime und die Implementierung der Steuerelemente für die Typen enthält, die in der ursprünglichen Typbibliothek definiert wurden. Die generierten Dateien werden nach dem folgenden Muster benannt:
Common Language Runtime-Proxy für COM-Typen: progid.dll
Proxy für Windows Forms für ActiveX-Steuerelemente, wobei Ax ActiveX angibt: Axprogid.dll
Hinweis
Wenn der Name eines Members des ActiveX-Steuerelements mit einem in .NET Framework definierten Namen übereinstimmt, stellt Aximp.exe beim Erstellen der abgeleiteten AxHost-Klasse dem Membernamen das Präfix "Ctl" voran. Wenn das ActiveX-Steuerelement beispielsweise einen Member mit dem Namen "Layout" besitzt, wird dieser in der abgeleiteten AxHost-Klasse in "CtlLayout" umbenannt, da das Layout-Ereignis in .NET Framework definiert ist.
Sie können diese generierten Dateien mit Tools wie MSIL Disassembler-Tool (Ildasm.exe) prüfen.
Beim Ausführen von Aximp.exe für das ActiveX-Steuerelement shdocvw.dll wird immer eine weitere Datei mit dem Namen shdocvw.dll in dem Verzeichnis erstellt, in dem das Tool ausgeführt wird. Wenn diese Datei im Verzeichnis Dokumente und Einstellungen abgelegt wird, verursacht sie Probleme beim Ausführen von Microsoft Internet Explorer und Windows Explorer. Beim Neustart des Computers sucht Windows erst im Verzeichnis Dokumente und Einstellungen und dann erst im Verzeichnis system32 nach einer Version von shdocvw.dll. Zum Laden der verwalteten Wrapper verwendet Windows die im Verzeichnis Dokumente und Einstellungen gefundene Version. Der Grund dafür, dass Internet Explorer und Windows Explorer nicht einwandfrei funktionieren, liegt darin, dass sie auf dem Renderingmodul basieren, das in der shdocvw.dll im Verzeichnis system32 enthalten ist. Falls dieses Problem auftritt, löschen Sie die Kopie von shdocvw.dll im Verzeichnis Dokumente und Einstellungen und starten den Computer neu.
Beispiel
Durch den folgenden Befehl werden MediaPlayer.dll und AxMediaPlayer.dll für das Media Player-Steuerelement msdxm.ocx
erstellt.
aximp c:\systemroot\system32\msdxm.ocx