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

Der ActiveX Control Importer konvertiert Typdefinitionen in einer COM-Typbibliothek für ein ActiveX-Steuerelement in ein Windows Forms-Steuerelement.The ActiveX Control Importer converts type definitions in a COM type library for an ActiveX control into a Windows Forms control.

Windows Forms können nur Windows Forms-Steuerelemente hosten, d. h. Klassen, die von Control abgeleitet werden.Windows Forms can only host Windows Forms controls — that is, classes that are derived from Control. "Aximp.exe" generiert eine Wrapperklasse für ein ActiveX-Steuerelement, für das ein Windows Form als Host fungieren kann.Aximp.exe generates a wrapper class for an ActiveX control that can be hosted on a Windows Form. Daher stehen Ihnen dieselbe Unterstützung zur Entwurfszeit und dieselbe Programmierungsmethodik zur Verfügung, die auch für andere Windows Forms-Steuerelemente gelten.This allows you to use the same design-time support and programming methodology applicable to other Windows Forms controls.

Um das ActiveX-Steuerelement zu hosten, müssen Sie ein Wrappersteuerelement generieren, das von AxHost abgeleitet wird.To host the ActiveX control, you must generate a wrapper control that derives from AxHost. Dieses Wrappersteuerelement enthält eine Instanz des zugrunde liegenden ActiveX-Steuerelements.This wrapper control contains an instance of the underlying ActiveX control. Es kann mit dem ActiveX-Steuerelement kommunizieren, wird jedoch als Windows Forms-Steuerelement angezeigt.It knows how to communicate with the ActiveX control, but it appears as a Windows Forms control. Dieses generierte Steuerelement fungiert als Host für das ActiveX-Steuerelement und macht dessen Eigenschaften, Methoden und Ereignisse als seine eigenen verfügbar.This generated control hosts the ActiveX control and exposes its properties, methods, and events as those of the generated control.

Dieses Tool wird automatisch mit Visual Studio installiert.This tool is automatically installed with Visual Studio. Verwenden Sie die Developer-Eingabeaufforderung für Visual Studio (oder die Visual Studio-Eingabeaufforderung in Windows 7), um das Tool auszuführen.To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Weitere Informationen finden Sie unter Eingabeaufforderungen.For more information, see Command Prompts.

Geben Sie an der Eingabeaufforderung Folgendes ein:At the command prompt, type the following:

SyntaxSyntax

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

HinweiseRemarks

ArgumentArgument BeschreibungDescription
filefile Der Name der Quelldatei mit dem zu konvertierenden ActiveX-Steuerelement.The name of the source file that contains the ActiveX control to convert. Das Dateiargument muss die Erweiterung ".dll" oder ".ocx" aufweisen.The file argument must have the extension .dll or .ocx.
OptionOption BeschreibungDescription
/delaysign Legt fest, dass "Aximp.exe" das resultierende Steuerelement verzögert signiert.Specifies to Aximp.exe to sign the resulting control using delayed signing. Diese Option müssen Sie entweder mit der Option /keycontainer:, /keyfile: oder /publickey: angeben.You must specify this option with either the /keycontainer:, /keyfile:, or /publickey: option. Weitere Informationen zum verzögerten Signieren finden Sie unter Verzögertes Signieren einer Assembly.For more information on the delayed signing process, see Delay Signing an Assembly.
/help Zeigt Befehlssyntax und Optionen für das Tool an.Displays command syntax and options for the tool.
/keycontainer: containerName/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 wurdeSigns the resulting control with a strong name using the public/private key pair found in the key container specified by containerName.
/keyfile: dateiname/keyfile: filename Signiert das resultierende Steuerelement unter Verwendung des unter dateiname angegebenen Paar aus privatem und öffentlichem Schlüssel des Herausgebers mit einem starken Namen.Signs the resulting control with a strong name using the publisher's official public/private key pair found in filename.
/nologo Unterdrückt die Anzeige des Startbanners von Microsoft.Suppresses the Microsoft startup banner display.
/out: dateiname/out: filename Legt den Namen der zu erstellenden Assembly fest.Specifies the name of the assembly to create.
/publickey: dateiname/publickey: filename Signiert das resultierende Steuerelement unter Verwendung des öffentlichen Schlüssels, der in der durch dateiname angegebenen Datei enthalten ist, mit einem starken Namen.Signs the resulting control with a strong name using the public key found in the file specified by filename.
/rcw: dateiname/rcw: filename Verwendet den angegebenen Runtime Callable Wrapper, anstatt einen neuen zu generieren.Uses the specified runtime callable wrapper instead of generating a new one. Sie können mehrere Instanzen angeben.You may specify multiple instances. Das aktuelle Verzeichnis wird für relative Pfade verwendet.The current directory is used for relative paths. Weitere Informationen finden Sie im Abschnitt RCW.For more information, see Runtime Callable Wrapper.
/silent Unterdrückt die Anzeige von Erfolgsmeldungen.Suppresses the display of success messages.
/source Erstellt C#-Quellcode für den Windows Forms-Wrapper.Generates C# source code for the Windows Forms wrapper.
/verbose Gibt den ausführlichen Modus an und zeigt zusätzliche Verlaufsinformationen an.Specifies verbose mode; displays additional progress information.
/? Zeigt Befehlssyntax und Optionen für das Tool an.Displays command syntax and options for the tool.

"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.Aximp.exe converts an entire ActiveX Control type library at one time and produces a set of assemblies that contain the common language runtime metadata and control implementation for the types defined in the original type library. Die generierten Dateien werden nach dem folgenden Muster benannt:The generated files are named according to the following pattern:

Common Language Runtime-Proxy für COM-Typen: „progid.dll“common language runtime proxy for COM types: progid.dll

Windows Forms-Proxy für ActiveX-Steuerelemente, wobei Ax ActiveX angibt: „Axprogid.dll“Windows Forms proxy for ActiveX controls (where Ax signifies ActiveX): 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.If the name of a member of the ActiveX control matches a name defined in the .NET Framework, Aximp.exe will prefix the member name with "Ctl" when it creates the AxHost derived class. 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.For example, if your ActiveX control has a member named "Layout," it is renamed "CtlLayout" in the AxHost derived class because the Layout event is defined within the .NET Framework.

Sie können diese generierten Dateien mit Tools wie Ildasm.exe (IL Disassembler) prüfen.You can examine these generated files with tools such as Ildasm.exe (IL Disassembler).

Die Verwendung von "Aximp.exe" zum Erstellen einer .NET-Assembly für das ActiveX-Steuerelement WebBrowser ("shdocvw.dll") wird nicht unterstützt.Using Aximp.exe to generate a .NET assembly for the ActiveX WebBrowser control (shdocvw.dll) is not supported.

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.When you run Aximp.exe over shdocvw.dll, it will always create another file named shdocvw.dll in the directory from which the tool is run. Wenn diese Datei im Verzeichnis "Dokumente und Einstellungen" abgelegt wird, verursacht sie Probleme beim Ausführen von Microsoft Internet Explorer und Windows Explorer.If this generated file is placed in the Documents and Settings directory, it causes problems for Microsoft Internet Explorer and Windows Explorer. Beim Neustart des Computers sucht Windows zuerst im Verzeichnis "Dokumente und Einstellungen" und dann erst im Verzeichnis "system32" nach einer Version von "shdocvw.dll".When the computer is rebooted, Windows looks in the Documents and Settings directory before the system32 directory to find a copy of shdocvw.dll. Zum Laden der verwalteten Wrapper verwendet Windows die im Verzeichnis "Dokumente und Einstellungen" gefundene Version.It will use the copy it finds in Documents and Settings and attempt to load the managed wrappers. Der Grund dafür, dass Internet Explorer und Windows Explorer nicht einwandfrei funktionieren, liegt darin, dass sie auf der Rendering-Engine basieren, das in der "shdocvw.dll" im Verzeichnis "system32" enthalten ist.Internet Explorer and Windows Explorer will not function properly because they rely on the rendering engine in the version of shdocvw.dll located in the system32 directory. Falls dieses Problem auftritt, löschen Sie im Verzeichnis "Dokumente und Einstellungen" die Kopie von "shdocvw.dll", und starten Sie den Computer neu.If this problem occurs, delete the copy of shdocvw.dll in the Documents and Settings directory and reboot the computer.

Wenn Sie mit "Aximp.exe" und "shdocvw.dll" eine .NET-Assembly für die Verwendung in der Anwendungsentwicklung erstellen, kann dies ebenfalls zu Problemen führen.Using Aximp.exe with shdocvw.dll to create a .NET assembly for use in application development can also cause problems. 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.In this case, your application will load both the system version of shdocvw.dll and the generated version, and may give the system version priority. Wenn Sie in diesem Fall versuchen, im ActiveX-Steuerelement WebBrowser eine Webseite zu laden, wird möglicherweise ein Dialogfeld zum Öffnen oder Speichern angezeigt.In this case, when you attempt to load a Web page inside the WebBrowser ActiveX control, users may be prompted with an Open/Save dialog box. Wenn der Benutzer auf Öffnen klickt, wird die Website in Internet Explorer geöffnet.When the user clicks Open, the Web page will be opened in Internet Explorer. Dies geschieht nur bei Computern, auf denen Internet Explorer Version 6 oder früher ausgeführt wird.This occurs only with computers that are running Internet Explorer version 6 or earlier. Um dieses Problem zu verhindern, verwenden Sie das verwaltete WebBrowser-Steuerelement oder Visual Studio, um die verwaltete Datei „shdocvw.dll“ wie in How to: Add References to Type Libraries (Vorgehensweise: Hinzufügen von Verweisen zu Typbibliotheken) beschrieben zu erstellen.To prevent this problem, use the managed WebBrowser control or use Visual Studio to generate the managed shdocvw.dll as described in How to: Add References to Type Libraries.

BeispielExample

Durch den folgenden Befehl werden "MediaPlayer.dll" und "AxMediaPlayer.dll" für das Media Player-Steuerelement msdxm.ocx erstellt.The following command generates MediaPlayer.dll and AxMediaPlayer.dll for the Media Player control msdxm.ocx.

aximp c:\systemroot\system32\msdxm.ocx  

Weitere InformationenSee also