Aximp.exe (Importador de Controle ActiveX do Windows Forms)
O Importador de Controle ActiveX converte definições de tipo em uma biblioteca de tipos COM para um controle ActiveX em um controle Windows Forms.
O Windows Forms só pode hospedar controles Windows Forms — ou seja, classes derivadas do Control. Aximp.exe gera uma classe wrapper para um controle ActiveX que pode ser hospedado em um Windows Form. Isso permite que você use o mesmo suporte em tempo de design e metodologia de programação aplicável a outros controles do Windows Forms.
Para hospedar o controle ActiveX, você deve gerar um controle wrapper que deriva de AxHost. Esse controle wrapper contém uma instância do controle ActiveX subjacente. Ele sabe como se comunicar com o controle ActiveX, mas aparece como um controle Windows Forms. Esse controle gerado hospeda o controle ActiveX e expõe suas propriedades, métodos e eventos como os do controle gerado.
Esta ferramenta é instalada automaticamente com o Visual Studio. Para executar a ferramenta, use o Visual Studio Developer Command Prompt ou o Visual Studio Developer PowerShell.
Na linha de comandos, escreva o seguinte:
Sintaxe
aximp [options]{file.dll | file.ocx}
Observações
Argumento | Description |
---|---|
arquivo | O nome do arquivo de origem que contém o controle ActiveX a ser convertido. O argumento file deve ter a extensão .dll ou .ocx. |
Opção | Description |
---|---|
/delaysign |
Especifica para Aximp.exe assinar o controle resultante usando a assinatura atrasada. Você deve especificar essa opção com a /keycontainer: opção , /keyfile: ou /publickey: . Para obter mais informações sobre o processo de assinatura atrasado, consulte Atrasar a assinatura de um assembly. |
/help |
Exibe a sintaxe do comando e as opções da ferramenta. |
/keycontainer: containerName |
Assina o controle resultante com um nome forte usando o par de chaves pública/privada encontrado no contêiner de chave especificado por containerName. |
/keyfile: nome do ficheiro |
Assina o controle resultante com um nome forte usando o par de chaves público/privado oficial do editor encontrado no nome do arquivo. |
/nologo |
Suprime a exibição do banner de inicialização da Microsoft. |
/out: nome do ficheiro |
Especifica o nome do assembly a ser criado. |
/publickey: nome do ficheiro |
Assina o controle resultante com um nome forte usando a chave pública encontrada no arquivo especificado pelo nome do arquivo. |
/rcw: nome do ficheiro |
Usa o wrapper chamável de tempo de execução especificado em vez de gerar um novo. Você pode especificar várias instâncias. O diretório atual é usado para caminhos relativos. Para obter mais informações, consulte Runtime Callable Wrapper. |
/silent |
Suprime a exibição de mensagens de sucesso. |
/source |
Gera código-fonte em C# para o wrapper do Windows Forms. |
/verbose |
Especifica o modo detalhado; Exibe informações adicionais sobre o progresso. |
/? |
Exibe a sintaxe do comando e as opções da ferramenta. |
Aximp.exe converte uma biblioteca de tipos de controle ActiveX inteira de uma só vez e produz um conjunto de assemblies que contêm os metadados do Common Language Runtime e a implementação de controle para os tipos definidos na biblioteca de tipos original. Os arquivos gerados são nomeados de acordo com o seguinte padrão:
Proxy Common Language Runtime para tipos COM: progid.dll
Proxy do Windows Forms para controles ActiveX (onde Ax significa ActiveX): Axprogid.dll
Nota
Se o nome de um membro do controle ActiveX corresponder a um nome definido no .NET Framework, Aximp.exe prefixará o nome do membro com "Ctl" quando criar a classe derivada AxHost. Por exemplo, se seu controle ActiveX tiver um membro chamado "Layout", ele será renomeado "CtlLayout" na classe derivada AxHost porque o evento Layout é definido dentro do .NET Framework.
Você pode examinar esses arquivos gerados com ferramentas como Ildasm.exe (IL Disassembler).
Não há suporte para o uso de Aximp.exe para gerar um assembly .NET para o controle ActiveX WebBrowser (shdocvw.dll).
Quando você executa Aximp.exe sobre shdocvw.dll, ele sempre criará outro arquivo chamado shdocvw.dll no diretório a partir do qual a ferramenta é executada. Se você colocar esse arquivo gerado no diretório Documentos, ele pode causar problemas para o Windows Explorer. Quando o computador é reinicializado, o Windows procura no diretório Documents antes do diretório system32 para encontrar uma cópia do shdocvw.dll. Ele usará a cópia que encontrar em Documentos e tentará carregar os wrappers gerenciados. O Windows Explorer não funcionará corretamente porque depende do mecanismo de renderização na versão do shdocvw.dll localizada no diretório system32. Se esse problema ocorrer, exclua a cópia do shdocvw.dll no diretório Documents e reinicie o computador.
Exemplo
O comando a seguir gera MediaPlayer.dll e AxMediaPlayer.dll para o controle msdxm.ocx
Media Player .
aximp c:\systemroot\system32\msdxm.ocx