ActiveX Control Importer pour Windows Forms (Aximp.exe)
L'importateur de contrôles ActiveX convertit les définitions de types d'une bibliothèque de types COM associées à un contrôle ActiveX en un contrôle Windows Forms.
Windows Forms peut héberger uniquement des contrôles Windows Forms, c'est-à-dire, des classes dérivées de Control. Aximp.exe génère une classe wrapper associée à un contrôle ActiveX qui peut être hébergée dans un Windows Form. Cela vous permet d'utiliser la même prise en charge au moment du design et la même méthodologie de programmation que pour d'autres contrôles Windows Forms.
Pour héberger le contrôle ActiveX, vous devez générer un contrôle wrapper qui dérive de AxHost. Ce contrôle wrapper contient une instance du contrôle ActiveX sous-jacent. Il sait comment communiquer avec le contrôle ActiveX, mais il se présente comme un contrôle Windows Forms. Le contrôle ainsi généré héberge le contrôle ActiveX dont il expose les propriétés, les méthodes et les événements comme si ces derniers lui appartenaient.
aximp [options]{file.dll | file.ocx}
Notes
Argument | Description |
---|---|
file |
Nom du fichier source contenant le contrôle ActiveX à convertir. La valeur de cet argument doit présenter l'extension .dll ou .ocx. |
Option | Description |
---|---|
/delaysign |
Spécifie à Aximp.exe que le contrôle résultant doit être signé à l'aide du processus de signature différée. Vous devez spécifier cette option avec /keycontainer:, /keyfile: ou /publickey:. Pour plus d'informations sur le processus de signature différée, consultez Temporisation de signature d'un assembly. |
/help |
Affiche la syntaxe et les options de commande de l'outil. |
/keycontainer: containerName |
Signe le contrôle résultant avec un nom fort à l'aide de la paire de clés publique/privée présente dans le conteneur de clé spécifié par containerName. |
/keyfile: filename |
Signe le contrôle résultant avec un nom fort en utilisant la paire de clés publique/privée officielle de l'éditeur présente dans filename. |
/nologo |
Supprime l'affichage de la bannière de démarrage Microsoft. |
/out: filename |
Spécifie le nom de l'assembly à créer. |
/publickey: filename |
Signe le contrôle résultant avec un nom fort à l'aide de la clé publique présente dans le fichier spécifié par filename. |
/silent |
Supprime l'affichage des messages indiquant la réussite des opérations. |
/source |
Génère le code C# source pour le wrapper Windows Forms. |
/verbose |
Spécifie le mode documenté ; affiche des informations supplémentaires sur la progression de l'opération. |
/? |
Affiche la syntaxe et les options de commande de l'outil. |
Aximp.exe convertit toute une bibliothèque de types de contrôles ActiveX à la fois et produit un ensemble d'assemblys contenant les métadonnées du Common Language Runtime et l'implémentation des contrôles pour les types définis dans la bibliothèque de types d'origine. Les fichiers générés sont nommés conformément à la règle suivante :
Proxy du Common Language Runtime pour les types COM : progid.dll
Proxy Windows Forms pour les contrôles ActiveX (où Ax est l'abréviation de ActiveX) : Axprogid.dll
Notes
Si le nom d'un membre du contrôle ActiveX correspond à un nom défini dans le .NET Framework, Aximp.exe fait précéder le nom du membre de « Ctl » lorsqu'il crée la classe dérivée AxHost. Par exemple, si votre contrôle ActiveX possède un membre nommé « Layout », il est renommé « CtlLayout » dans la classe dérivée AxHost car l'événement Layout est défini dans .NET Framework.
Vous pouvez examiner ces fichiers générés à l'aide d'outils, tels que MSIL Disassembler (Ildasm.exe).
L'exécution de Aximp.exe sur le contrôle ActiveX shdocvw.dll crée toujours un autre fichier nommé shdocvw.dll dans le répertoire à partir duquel l'outil est exécuté. Si le fichier généré est placé dans le répertoire Documents and Settings, cela perturbe le fonctionnement de Microsoft Internet Explorer et de l'Explorateur Windows. Lors du redémarrage de l'ordinateur, Windows recherche une copie de shdocvw.dlll dans le répertoire Documents and Settings, au lieu de commencer la recherche dans le répertoire System32. Il utilise la copie trouvée dans Documents and Settings et tente de charger les wrappers managés. Internet Explorer et l'Explorateur Windows ne fonctionnent pas correctement car ils s'appuient sur le moteur de rendu figurant dans la version de shdocvw.dll qui se trouve dans le répertoire System32. Si ce problème survient, supprimez la copie de shdocvw.dll qui se trouve dans le répertoire Documents and Settings, puis redémarrez votre ordinateur.
Exemple
La commande suivante génère MediaPlayer.dll et AxMediaPlayer.dll pour le contrôle Media Player msdxm.ocx
.
aximp c:\systemroot\system32\msdxm.ocx