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

Aktualisiert: November 2007

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 aus dem mit Containername angegebenen Container mit einem starken Namen.

/keyfile:Dateiname

Signiert das resultierende Steuerelement unter Verwendung des unter Dateiname angegebenen öffentlichen/privaten Schlüsselpaars 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.

/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

Tipp

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.

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 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.

Wenn Sie mit Aximp.exe und shdocvw.dll eine .NET-Assembly für die Verwendung in der Anwendungsentwicklung erstellen, kann dies zu Problemen führen. In diesem Fall lädt die Anwendung sowohl die Systemversion als auch die erzeugte Version von shdocvw.dll und weist der Systemversion möglicherweise die Priorität zu. Wenn Sie in diesem Fall versuchen, im ActiveX-Steuerelement WebBrowser eine Webseite zu laden, wird möglicherweise ein Dialogfeld zum Öffnen oder Speichern angezeigt. Wenn der Benutzer auf Öffnen klickt, wird die Webseite in Internet Explorer geöffnet. Dies geschieht nur bei Computern, auf denen Internet Explorer Version 6 oder früher ausgeführt wird. Um dieses Problem zu verhindern, verwenden Sie das verwaltete WebBrowser-Steuerelement oder Visual Studio, um die verwaltete Datei shdocvw.dll wie in Gewusst wie: Hinzufügen von Verweisen zu Typbibliotheken beschrieben zu erstellen.

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

Referenz

.NET Framework-Tools

MSIL Disassembler-Tool (Ildasm.exe)