Freigeben über


Aximp.exe (Windows Forms ActiveX Control Importer-Tool)

Der ActiveX Control Importer konvertiert Typdefinitionen in einer COM-Typbibliothek für ein ActiveX-Steuerelement in ein Windows Forms-Steuerelement.

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 dieselbe Programmierungsmethodik zur Verfügung, die auch für andere Windows Forms-Steuerelemente gelten.

Um das ActiveX-Steuerelement zu hosten, müssen Sie ein Wrappersteuerelement generieren, das von AxHost abgeleitet wird. Dieses Wrappersteuerelement enthält eine Instanz des zugrunde liegenden ActiveX-Steuerelements. Es kann mit dem ActiveX-Steuerelement kommunizieren, wird jedoch als Windows Forms-Steuerelement angezeigt. Dieses generierte Steuerelement fungiert als Host für das ActiveX-Steuerelement und macht dessen Eigenschaften, Methoden und Ereignisse als seine eigenen verfügbar.

Dieses Tool wird automatisch mit Visual Studio installiert. Um das Tool auszuführen, verwenden Sie die Developer-Eingabeaufforderung von Visual Studio oder Visual Studio Developer PowerShell.

Geben Sie an der Eingabeaufforderung Folgendes ein:

Syntax

aximp [options]{file.dll | file.ocx}  

Bemerkungen

Argument BESCHREIBUNG
datei Der Name der Quelldatei mit dem zu konvertierenden ActiveX-Steuerelement. Das Dateiargument muss die Erweiterung ".dll" oder ".ocx" aufweisen.
Option BESCHREIBUNG
/delaysign Legt fest, dass "Aximp.exe" das resultierende Steuerelement verzögert signiert. Diese Option müssen Sie entweder mit der Option /keycontainer:, /keyfile: oder /publickey: angeben. Weitere Informationen zum verzögerten Signieren finden Sie unter Verzögertes Signieren einer Assembly.
/help Zeigt Befehlssyntax und Optionen für das Tool an.
/keycontainer: containerName Signiert die resultierende Steuerelement mit einem starken Namen, wobei das Paar aus privatem und öffentlichem Schlüssel aus dem Schlüsselcontainer verwendet wird, der mit containername angegeben wurde
/keyfile: Dateiname Signiert das resultierende Steuerelement unter Verwendung des unter dateiname angegebenen Paar aus privatem und öffentlichem Schlüssel des Herausgebers mit einem starken Namen.
/nologo Unterdrückt die Anzeige des Startbanners von Microsoft.
/out: Dateiname Legt den Namen der zu erstellenden Assembly fest.
/publickey: Dateiname Signiert das resultierende Steuerelement unter Verwendung des öffentlichen Schlüssels, der in der durch dateiname angegebenen Datei enthalten ist, mit einem starken Namen.
/rcw: Dateiname Verwendet den angegebenen Runtime Callable Wrapper, anstatt einen neuen zu generieren. Sie können mehrere Instanzen angeben. Das aktuelle Verzeichnis wird für relative Pfade verwendet. Weitere Informationen finden Sie im Abschnitt RCW.
/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 enthalten, 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“

Windows Forms-Proxy für ActiveX-Steuerelemente, wobei Ax für ActiveX steht: 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 Ildasm.exe (IL Disassembler) prüfen.

Die Verwendung von "Aximp.exe" zum Erstellen einer .NET-Assembly für das ActiveX-Steuerelement WebBrowser ("shdocvw.dll") wird nicht unterstützt.

Wenn Sie "Aximp.exe" für "shdocvw.dll" ausführen, wird immer eine weitere Datei mit dem Namen "shdocvw.dll" in dem Verzeichnis erstellt, in dem das Tool ausgeführt wird. Wenn Sie diese generierte Datei im Verzeichnis „Dokumente“ platzieren, kann dies zu Problemen in Windows-Explorer führen. Beim Neustart des Computers sucht Windows zuerst im Verzeichnis „Dokumente“ und dann erst im Verzeichnis „system32“ nach einer Version von „shdocvw.dll“. Zum Laden der verwalteten Wrapper verwendet Windows die im Verzeichnis „Dokumente“ gefundene Version. Windows-Explorer funktioniert nicht ordnungsgemäß, da er sich auf die Rendering-Engine der Version von „shdocvw.dll“ im Verzeichnis „system32“ verlässt. Falls dieses Problem auftritt, löschen Sie im Verzeichnis „Dokumente“ die Kopie von „shdocvw.dll“, und starten Sie 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  

Siehe auch