Partilhar 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 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.ocxMedia Player .

aximp c:\systemroot\system32\msdxm.ocx  

Consulte também