Artigo: 173091 - Última revisão: quinta-feira, 1 de Julho de 2004 - Revisão: 2.1

Como registar através de programação e desregistar ficheiros .ocx

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo descreve como registar e anular o registo controlos ActiveX (.OCXs) através de programação.

O Microsoft Visual Basic é fornecido com vários controlos ActiveX (ficheiros .ocx). Estes ficheiros são registados automaticamente pelo programa de configuração do Visual Basic durante a instalação. Os programadores pretendam frequentemente registar ou desregistar estes e/ou os seus próprios controlos no irá. Isto pode ser efectuado utilizando uma ferramenta como, por exemplo, RegSvr32.EXE ou pode ser efectuado através de programação através de código do Visual Basic.

A estrutura do controlo ActiveX suporta pontos de entrada DllRegisterServer e DllUnregisterServer. Estes pontos de entrada podem ser declarados como funções no código do Visual Basic e, em seguida, chamados para registar e anular o registo do controlo ActiveX.

Mais Informação

O exemplo seguinte demonstra como escrever um módulo de código que pode ser utilizado para registar e anular o registo de um controlo ActiveX, especificamente o Microsoft Windows controlos comuns encontrados no ComCtl32.OCX.

Exemplo passo a passo

  1. Crie um novo projecto Exe padrão no Visual Basic.
  2. Adicione um módulo (Módulo1) ao projecto.
  3. Adicione o seguinte código à secção General Declarations do Module1:
          Public Declare Function RegComCtl32 Lib "ComCtl32.OCX" _
             Alias "DllRegisterServer" () As Long
    
          Public Declare Function UnRegComCtl32 Lib "ComCtl32.OCX" _
             Alias "DllUnregisterServer" () As Long
    
          Public Const S_OK = &H0
    
          Sub RegisterComCtl32()
             On Error GoTo Err_Registration_Failed
             If RegComCtl32 = S_OK Then
                MsgBox "Registered Successfully"
             Else
                MsgBox "Not Registered"
             End If
          Exit Sub
          Err_Registration_Failed:
             MsgBox "Error: " & Err.Number & " " & Err.Description
          End Sub
    
          Sub UnRegisterComCtl32()
             On Error GoTo Err_Unregistration_Failed
             If UnRegComCtl32 = S_OK Then
                MsgBox "Unregistered Successfully"
             Else
                MsgBox "Not Unregistered"
             End If
          Exit Sub
          Err_Unregistration_Failed:
             MsgBox "Error: " & Err.Number & " " & Err.Description
          End Sub
    
    					
  4. Visualizar a janela Immediate (CTRL+G) e tipo:
    UnRegisterComCtl32
    Prima a tecla ENTER para anular o registo ComCtl32.OCX e, em seguida, escreva:
    RegisterComCtl32
    e prima a tecla ENTER para registar o controlo.
Agora é podem chamar estas funções para registar e anular o registo do controlo ActiveX, programaticamente fornecer funcionalidade semelhante de RegSvr32.EXE. Pode testar estas funções, clicando com o botão direito do rato na caixa de ferramentas dos controlos e seleccionando componentes do menu de contexto. Uma entrada para o Microsoft Windows comum controlos 5.0 será apresentada no separador controlos da caixa de diálogo componentes se ComCtl32.OCX está registado e nenhuma entrada será apresentada se ComCtl32.OCX não está registado.

Tenha em atenção o seguinte:
  • "RegComCtl32" e "UnRegComCtl32" são nomes definidos pelo utilizador e podem ser alterados de acordo com as suas necessidades.
  • O exemplo do passo-a-passo acima pressupõe que ComCtl32.OCX está localizado na pasta Windows\System do disco rígido local. Se não estiver localizado lá, tem de especificar o caminho completo para o ficheiro .ocx na instrução Declare.
  • "DllRegisterServer" e "DllUnregisterServer" são sensíveis a maiúsculas e minúsculas. É importante que caso correcto ser utilizada ao declarar estas funções.

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic Control Creation Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palavras-chave: 
kbmt kbhowto KB173091 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 173091  (http://support.microsoft.com/kb/173091/en-us/ )