Compartilhar via


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

O Windows Forms só pode hospedar controles do Windows Forms — ou seja, classes derivadas de Control. Aximp.exe gerencia uma classe wrapper para um controle ActiveX que pode ser hospedado no Windows Form. Isso permite usar o mesmo suporte de tempo de design e a mesma metodologia de programação aplicável a outros controles do Windows Forms.

Para hospedar o controle ActiveX, você deve gerar um controle wrapper derivado de AxHost. Esse controle de wrapper contém uma instância do controle ActiveX subjacente. Ele sabe como se comunicar com o controle ActiveX, mas é exibido como um controle do Windows Forms. Esse controle gerado hospeda o controle ActiveX e expõe suas propriedades, métodos e eventos como os do controle gerado.

Essa ferramenta é instalada automaticamente com o Visual Studio. Para executar a ferramenta, use o Prompt de Comando do Desenvolvedor do Visual Studio ou o PowerShell do Desenvolvedor do Visual Studio.

No prompt de comando, digite o seguinte:

Sintaxe

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

Comentários

Argumento Descrição
file O nome do arquivo de origem que contém o controle ActiveX a ser convertido. O argumento do arquivo deve ter a extensão .dll ou .ocx.
Opção Descrição
/delaysign Especifica Aximp.exe para assinar o controle resultante usando-se a assinatura com atraso. Você deve especificar essa opção com a opção /keycontainer:, /keyfile: ou /publickey:. Para obter mais informações sobre o processo de assinatura com atraso, consulte Assinatura com Atraso de um Assembly.
/help Exibe sintaxe de comando e opções para a 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:Filename Assina o controle resultante com um nome forte usando o par de chaves pública/privada oficial do editor encontrado em filename.
/nologo Suprime a exibição do banner de inicialização da Microsoft.
/out:Filename Especifica o nome do assembly a ser criado.
/publickey:Filename Assina o controle resultante com um nome forte usando a chave pública encontrada no arquivo especificado por filename.
/rcw:Filename Usa o runtime callable wrapper especificado, em vez de gerar um novo. Convém especificar várias instâncias. O diretório atual é usado em caminhos relativos. Para obter mais informações, consulte RCW (Runtime Callable Wrapper).
/silent Suprime a exibição de mensagens de sucesso.
/source Gera o código-fonte do C# para o wrapper do Windows Forms.
/verbose Especifica o modo detalhado; exibe informações de andamento adicionais.
/? Exibe sintaxe de comando e opções para a ferramenta.

Aximp.exe converte uma biblioteca de tipos inteira do Controle ActiveX de uma só vez e produz um conjunto de assemblies que contêm os metadados de Common Language Runtime e controlam a implementação dos tipos definidos na biblioteca de tipos original. Os arquivos gerados são nomeados de acordo com o seguinte padrão:

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

Proxy do Windows Forms para controles ActiveX (em que Ax significa ActiveX): Axprogid.dll

Observação

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" ao criar a classe derivada AxHost. Por exemplo, se o controle ActiveX tiver um membro chamado "Layout", ele será renomeado "CtlLayout" na classe derivada AxHost porque o evento Layout é definido dentro do .NET Framework.

É possível examinar esses arquivos gerados com ferramentas como Ildasm.exe (IL Disassembler).

O uso de Aximp.exe para gerar um assembly do .NET. para o controle ActiveX WebBrowser (shdocvw.dll) não é compatível.

Quando você executar Aximp.exe em shdocvw.dll, ele sempre criará outro arquivo chamado shdocvw.dll no diretório no qual a ferramenta é executada. Se você colocar esse arquivo gerado no diretório Documentos, ele poderá causar problemas para o Windows Explorer. Quando o computador é reinicializado, o Windows examina o diretório Documentos antes do diretório system32 para encontrar uma cópia de shdocvw.dll. Ele usará a cópia encontrada 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 de shdocvw.dll localizada no diretório system32. Se esse problema ocorrer, exclua a cópia de shdocvw.dll no diretório Documentos e reinicie o computador.

Exemplo

O comando a seguir gera MediaPlayer.dll e AxMediaPlayer.dll para o controle msdxm.ocx do Media Player.

aximp c:\systemroot\system32\msdxm.ocx  

Confira também