Aximp.exe (Importador de controles ActiveX de Windows Forms)
El Importador de controles ActiveX convierte definiciones de tipos de una biblioteca de tipos COM para un control ActiveX en un control de formularios Windows Forms.
Los formularios Windows Forms sólo pueden hospedar controles de formularios Windows Forms; es decir, clases derivadas de Control. Aximp.exe genera una clase contenedora para un control ActiveX que se puede hospedar en un formulario Windows Forms. Esto permite utilizar la misma funcionalidad para diseño y la misma metodología de programación que si se tratase de controles usuales de formularios Windows Forms.
Para hospedar el control ActiveX, debe generar un control contenedor que se derive de AxHost. Este control contenedor contiene una instancia del control ActiveX subyacente. También sabe cómo establecer comunicación con el control ActiveX, pero aparece como un control de formularios Windows Forms. Este control generado contiene el control ActiveX y proporciona sus propiedades, métodos y eventos como si fuesen propios.
aximp [options]{file.dll | file.ocx}
Comentarios
Argumento |
Descripción |
---|---|
file |
Nombre del archivo de código fuente que contiene el control ActiveX que se convierte. Este argumento debe tener la extensión .ocx o .dll. |
Opción |
Descripción |
---|---|
/delaysign |
Especifica que Aximp.exe debe firmar el control resultante mediante firma postergada. Esta opción se debe especificar con la opción /keycontainer:, /keyfile: o la opción /publickey:. Para obtener más información sobre el proceso de firmas postergado, vea Retrasar la firma de un ensamblado. |
/help |
Muestra la sintaxis de comandos y opciones para la herramienta. |
/keycontainer:nombreContenedor |
Firma el control resultante con un nombre seguro utilizando el par de claves pública y privada que se encuentra en el contenedor de claves especificado mediante nombreDeContenedor. |
/keyfile:nombreArchivo |
Firma el control resultante con un nombre seguro utilizando el par de claves pública y privada oficial del editor que se encuentra en nombreDeArchivo. |
/nologo |
Suprime la presentación de la portada de inicio de Microsoft. |
/out:nombreArchivo |
Especifica el nombre del ensamblado que se va a crear. |
/publickey:nombreArchivo |
Firma el control resultante con un nombre seguro mediante la clave pública del archivo especificado por nombreDeArchivo. |
/silent |
Suprime la presentación de mensajes de operaciones correctas. |
/source |
Genera código fuente C# para el contenedor de formularios Windows Forms. |
/verbose |
Especifica el modo detallado; muestra información adicional del progreso. |
/? |
Muestra la sintaxis de comandos y opciones para la herramienta. |
Aximp.exe convierte una biblioteca de tipos completa de controles ActiveX de una vez y produce un conjunto de ensamblados que contienen los metadatos de Common Language Runtime y la implementación de controles para los tipos definidos en la biblioteca de tipos original. Los archivos generados se denominan de acuerdo con el siguiente modelo:
Proxy de Common Language Runtime para tipos COM: progid.dll
Proxy de formularios Windows Forms para controles ActiveX (donde Ax significa ActiveX): Axprogid.dll
Nota |
---|
Si el nombre de un miembro del control ActiveX coincide con un nombre definido en .NET Framework, Aximp.exe agregará el prefijo "Ctl" al nombre del miembro al crear la clase derivada AxHost.Por ejemplo, si el control ActiveX tiene un miembro denominado "Layout", el nombre de éste se cambia a "CtlLayout" en la clase derivada AxHost porque el evento Layout está definido en .NET Framework. |
Puede examinar estos archivos generados con herramientas como Ildasm.exe (Desensamblador de MSIL).
No se puede utilizar Aximp.exe con el fin de generar un ensamblado .NET para el control ActiveX WebBrowser (shdocvw.dll).
Cuando se ejecuta Aximp.exe sobre shdocvw.dll, siempre se creará otro archivo denominado shdocvw.dll en el directorio desde el que se ejecuta la herramienta. Si este archivo generado se ubica en el directorio Documents and Settings, causará problemas a Microsoft Internet Explorer y al Explorador de Windows. Cuando se reinicia el equipo, Windows busca una copia de shdocvw.dll en el directorio los Documents and Settings antes que en el directorio system32. Usará la copia que encuentre en Documents and Settings e intentará cargar los contenedores administrados. Internet Explorer y el Explorador de Windows no funcionarán correctamente, porque se basan en el motor de representación de shdocvw.dll ubicado en el directorio system32. Si se produce este problema, elimine la copia de shdocvw.dll del directorio Documents and Settings y reinicie el equipo.
Si se utiliza Aximp.exe con shdocvw.dll con el fin de crear un ensamblado .NET para utilizarlo en el desarrollo de aplicaciones, también pueden producirse problemas. En este caso, la aplicación cargará la versión del sistema de shdocvw.dll y la versión generada, por lo que la versión del sistema podría tener prioridad. En este caso, al intentar cargar una página web dentro del control ActiveX WebBrowser, es posible que aparezca el cuadro de diálogo Abrir o Guardar a los usuarios. Cuando el usuario haga clic en Abrir, la página web se abrirá en Internet Explorer. Esto sólo se producirá en los equipos que ejecutan Internet Explorer versión 6 o una versión anterior. Para evitar este problema, utilice el control WebBrowser administrado o utilice Visual Studio para generar el control shdocvw.dll administrado tal y como se describe en Cómo: Agregar referencias a bibliotecas de tipos.
Ejemplo
El comando siguiente genera MediaPlayer.dll y AxMediaPlayer.dll para el control Media Player msdxm.ocx.
aximp c:\systemroot\system32\msdxm.ocx
Vea también
Referencia
Ildasm.exe (Desensamblador de MSIL)