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

Windows Forms solo puede hospedar controles de Windows Forms; es decir, clases derivadas de Control. Aximp.exe genera una clase contenedora para un control ActiveX que se puede hospedar en un Windows Form. Esto permite utilizar la misma compatibilidad en tiempo de diseño y la misma metodología de programación que si se tratase de controles usuales de 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 Windows Forms. Este control generado contiene el control ActiveX y proporciona sus propiedades, métodos y eventos como si fuesen propios.

Esta herramienta se instala automáticamente con Visual Studio. Para ejecutar la herramienta, use el Símbolo del sistema para desarrolladores de Visual Studio o PowerShell de Visual Studio para desarrolladores.

En el símbolo del sistema, escriba lo siguiente:

Sintaxis

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

Observaciones

Argumento Descripción
file Nombre del archivo de código fuente que contiene el control ActiveX que se va a convertir. 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 la opción de firma retardada. Debe especificar esta opción con la opción /keycontainer:, /keyfile: o /publickey:. Para obtener más información sobre el proceso de firma retardada, vea Retrasar la firma de un ensamblado.
/help Muestra las opciones y la sintaxis de los comandos para la herramienta.
/keycontainer:containerName Firma el control resultante con un nombre seguro mediante el par de claves pública y privada que se encuentra en el contenedor de claves especificado mediante containerName.
/keyfile:nombredearchivo Firma el control resultante con un nombre seguro mediante el par de claves pública y privada oficial del editor que se encuentra en filename.
/nologo Suprime la presentación de la portada de inicio de Microsoft.
/out:nombredearchivo Especifica el nombre del ensamblado que se va a crear.
/publickey:nombredearchivo Firma el control resultante con un nombre seguro mediante la clave pública que se encuentra en el archivo especificado por filename.
/rcw:nombredearchivo Utiliza el contenedor invocable en tiempo de ejecución especificado en lugar de generar uno nuevo. Puede especificar varias instancias. El directorio actual se utiliza para las rutas de acceso relativas. Para más información, vea Ccontenedor RCW.
/silent Suprime la presentación de mensajes de aprobación.
/source Genera código fuente de C# para el contenedor de Windows Forms.
/verbose Especifica el modo detallado; muestra información adicional del progreso.
/? Muestra las opciones y la sintaxis de los comandos 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 nombran conforme al siguiente patrón:

Proxy de Common Language Runtime para tipos COM: progid.dll

Proxy de 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 este 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 IL).

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 crea otro archivo denominado shdocvw.dll en el directorio desde el que se ejecuta la herramienta. Si coloca este archivo generado en el directorio Documentos, puede causar problemas para el Explorador de Windows. Cuando se reinicia el equipo, Windows busca una copia de shdocvw.dll en el directorio Documentos antes que en el directorio system32. Usará la copia que encuentre en Documentos e intentará cargar los contenedores administrados. El Explorador de Windows no funcionará correctamente, porque se basa en el motor de representación de la versión de shdocvw.dll ubicada en el directorio system32. Si se produce este problema, elimine la copia de shdocvw.dll del directorio Documentos y reinicie el equipo.

Ejemplo

El comando siguiente genera los archivos MediaPlayer.dll y AxMediaPlayer.dll para el control de Media Player msdxm.ocx.

aximp c:\systemroot\system32\msdxm.ocx  

Vea también