Aximp.exe (Windows Forms Importador de Controlo ActiveX)

O Importador de Controlo ActiveX converte as definições de tipo numa biblioteca de tipos COM para um controlo ActiveX num controlo Windows Forms.

Windows Forms só podem alojar controlos de Windows Forms, ou seja, classes derivadas de Control. Aximp.exe gera uma classe de wrapper para um controlo ActiveX que pode ser alojado num Formulário do Windows. Isto permite-lhe utilizar a mesma metodologia de programação e suporte de tempo de conceção aplicável a outros controlos de Windows Forms.

Para alojar o controlo ActiveX, tem de gerar um controlo de wrapper que deriva de AxHost. Este controlo de wrapper contém uma instância do controlo ActiveX subjacente. Sabe como comunicar com o controlo ActiveX, mas aparece como um controlo Windows Forms. Este controlo gerado aloja o controlo ActiveX e expõe as respetivas propriedades, métodos e eventos como as do controlo gerado.

Esta ferramenta é instalada automaticamente com o Visual Studio. Para executar a ferramenta, utilize a Linha de Comandos do Programador do Visual Studio ou o PowerShell para Programadores do Visual Studio.

Na linha de comandos, escreva o seguinte:

Syntax

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

Observações

Argumento Description
ficheiro O nome do ficheiro de origem que contém o controlo ActiveX a converter. O argumento de ficheiro tem de ter a extensão .dll ou .ocx.
Opção Descrição
/delaysign Especifica para Aximp.exe assinar o controlo resultante com a assinatura atrasada. Tem de especificar esta opção com a opção /keycontainer:, /keyfile:ou /publickey: . Para obter mais informações sobre o processo de assinatura atrasado, consulte Atrasar a Assinatura de uma Assemblagem.
/help Apresenta a sintaxe do comando e as opções da ferramenta.
/keycontainer:containerName Assina o controlo resultante com um nome forte através do par de chaves públicas/privadas encontrado no contentor de chaves especificado pelo containerName.
/keyfile:nome do ficheiro Assina o controlo resultante com um nome forte utilizando o par oficial de chaves públicas/privadas do publicador encontrado em nome de ficheiro.
/nologo Suprime o ecrã da faixa de arranque da Microsoft.
/out:nome do ficheiro Especifica o nome da assemblagem a criar.
/publickey:nome do ficheiro Assina o controlo resultante com um nome forte através da chave pública encontrada no ficheiro especificado pelo nome de ficheiro.
/rcw:nome do ficheiro Utiliza o wrapper callable do runtime especificado em vez de gerar um novo. Pode especificar várias instâncias. O diretório atual é utilizado para caminhos relativos. Para obter mais informações, veja Runtime Callable Wrapper (Runtime Callable Wrapper).
/silent Suprime a apresentação de mensagens de êxito.
/source Gera código fonte C# para o wrapper de Windows Forms.
/verbose Especifica o modo verboso; apresenta informações de progresso adicionais.
/? Apresenta a sintaxe do comando e as opções da ferramenta.

Aximp.exe converte uma biblioteca de tipos de Controlo ActiveX completa de uma só vez e produz um conjunto de assemblagens que contêm os metadados de runtime de linguagem comuns e a implementação de controlo para os tipos definidos na biblioteca de tipos original. Os ficheiros gerados têm o nome de acordo com o seguinte padrão:

Proxy de runtime de linguagem comum para tipos COM: progid.dll

Windows Forms proxy para controlos ActiveX (em que o Ax significa ActiveX):progid Ax.dll

Nota

Se o nome de um membro do controlo ActiveX corresponder a um nome definido no .NET Framework, Aximp.exe irá atribuir o prefixo do nome do membro a "Ctl" quando criar a classe derivada do AxHost. Por exemplo, se o controlo ActiveX tiver um membro com o nome "Esquema", o nome é mudado para "CtlLayout" na classe derivada do AxHost porque o evento Esquema está definido no .NET Framework.

Pode examinar estes ficheiros gerados com ferramentas como Ildasm.exe (Il Disassembler).

A utilização de Aximp.exe para gerar uma assemblagem .NET para o controlo ActiveX WebBrowser (shdocvw.dll) não é suportada.

Quando executa Aximp.exe através de shdocvw.dll, este irá sempre criar outro ficheiro com o nome shdocvw.dll no diretório a partir do qual a ferramenta é executada. Se colocar este ficheiro gerado no diretório Documentos, pode causar problemas ao Explorador do Windows. Quando o computador é reiniciado, o Windows procura no diretório Documentos antes do diretório system32 para encontrar uma cópia de shdocvw.dll. Utilizará a cópia que encontra em Documentos e tentará carregar os wrappers geridos. O Explorador do Windows não funcionará corretamente porque depende do motor de composição na versão do shdocvw.dll localizado no diretório system32. Se este problema ocorrer, elimine a cópia de shdocvw.dll no diretório Documentos e reinicie o computador.

Exemplo

O comando seguinte gera MediaPlayer.dll e AxMediaPlayer.dll para o controlo leitor de multimédia msdxm.ocx.

aximp c:\systemroot\system32\msdxm.ocx  

Ver também