COMO: Acessar o registro em um computador remoto usando o Visual Basic 6.0 e a API do Windows

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 315586
Sumário
Este artigo explica como usar um aplicativo do Visual Basic para acessar o registro em um computador remoto em conjunto com a interface de programação de aplicativo (API) do Windows.

back to the top

Requisitos

Você precisa dos seguintes hardware e software para executar os procedimentos neste artigo:
  • Um Microsoft Windows XP, o Microsoft Windows 2000 ou o computador baseado no Microsoft Windows NT 4.0
  • Visual Basic 6.0
Observação : se o registro remoto estiver em um sistema que está executando o Windows NT 4.0, Windows 2000 ou Windows XP, você deve executar o código de uma conta que tenha permissão para ler esse registro.

Você também precisa as seguintes capacidades:
  • Experiência de programação Visual Basic 6.0
  • Familiaridade com o registro do Windows
back to the top

Criar um aplicativo de demonstração

  1. Inicie o Visual Basic 6.0 e crie um novo projeto do tipo Standard EXE.
  2. Clique com o botão direito do formulário e clique em View Code no menu de atalho . Adicione a instrução a seguir no início do código:
    Option Explicit					
  3. Adicione o seguinte código para declarar constantes usadas para acessar o registro:
    Private Const HKEY_CLASSES_ROOT = &H80000000Private Const HKEY_CURRENT_USER = &H80000001Private Const HKEY_LOCAL_MACHINE = &H80000002Private Const HKEY_USERS = &H80000003Private Const KEY_QUERY_VALUE = &H1Private Const KEY_SET_VALUE = &H2Private Const KEY_ALL_ACCESS = &H3FPrivate Const REG_SZ  As Long = 1Private Const ERROR_SUCCESS = 0&					
  4. Adicione o seguinte código para declarar os pontos de entrada para as funções do registro na interface de programação de aplicativo (API) do Windows:
    Private Declare Function RegConnectRegistry Lib "advapi32.dll" _Alias "RegConnectRegistryA" _    (ByVal lpMachineName As String, _     ByVal hKey As Long, _     phkResult As Long) As LongPrivate Declare Function RegCloseKey Lib "advapi32.dll" _    (ByVal hKey As Long) As LongPrivate Declare Function RegOpenKeyEx Lib "advapi32.dll" _Alias "RegOpenKeyExA" _    (ByVal hKey As Long, _     ByVal lpSubKey As String, _     ByVal ulOptions As Long, _     ByVal samDesired As Long, _     phkResult As Long) As Long   Private Declare Function RegQueryValueExString Lib "advapi32.dll" _Alias "RegQueryValueExA" _    (ByVal hKey As Long, _     ByVal lpValueName As String, _     ByVal lpReserved As Long, _     lpType As Long, _     ByVal lpData As String, _     lpcbData As Long) As Long					
  5. Adicione a seguinte declaração de variável global:
    Private hRemoteReg As Long					
  6. Adicione o seguinte código para manipular o evento Form_Load. Este código chama a função RegConnectRegistry para se conectar ao registro remoto. Substituir o parâmetro \\RemoteMachineName pelo nome do computador cujo registro você deseja acessar:
    Private Sub Form_Load()    Dim lRet As Long        'Connect to the remote registry     lRet = RegConnectRegistry("\\RemoteMachineName", _                              HKEY_LOCAL_MACHINE, _                              hRemoteReg)        If (lRet = ERROR_SUCCESS) Then        MsgBox "Successfully connected to remote registry"    Else        MsgBox "Error:" & Err.LastDllError        Unload Me        Exit Sub    End IfEnd Sub					
  7. Adicione o seguinte código para manipular o evento Form_Unload:
    Private Sub Form_Unload(Cancel As Integer)    Dim lRet As Long    If hRemoteReg <> 0 Then        lRet = RegCloseKey(hRemoteReg)    End IfEnd Sub					
  8. No criador de formulário, adicione um controle de comando ao formulário. O controle tem o nome padrão de Command1 .
  9. Clique duas vezes em Command1 para criar um manipulador click para o botão de comando. Adicione o seguinte código para a função de manipulador click:
    Private Sub Command1_Click()    Dim lRetVal As Long    Dim hKey As Long    Dim sValue As String        lRetVal = RegOpenKeyEx(hRemoteReg, _        "HARDWARE\DESCRIPTION\System", 0, KEY_QUERY_VALUE, hKey)    If lRetVal <> ERROR_SUCCESS Then        MsgBox "Cannot open key"    Else        sValue = String(255, " ")        lRetVal = RegQueryValueExString(hKey, _            "SystemBIOSVersion", 0&, REG_SZ, sValue, 255)        If lRetVal <> ERROR_SUCCESS Then            MsgBox "Cannot query value"        Else            MsgBox sValue        End If        lRetVal = RegCloseKey(hKey)        If lRetVal <> ERROR_SUCCESS Then            MsgBox "Cannot close key"        End If    End IfEnd Sub					
back to the top

Verificação

  1. Pressione F5 para compilar e executar o aplicativo.
  2. Uma caixa de mensagem é exibida, indicando que o registro no computador remoto tem sido contatado. Clique em OK .

    O formulário principal do aplicativo é exibido.
  3. Clique em Command1 . O valor armazenado no seguinte local no Registro remoto é exibido:
    HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\SystemBIOSVersion
  4. Para verificar esse valor do Registro, execute regedit.exe no computador remoto. No Editor registro, clique em Localizar no menu Editar . Digite SystemBIOSVersion e, em seguida, clique em Localizar próxima . Após uma pequena pausa, Editor do Registro exibe o valor para essa chave, verificar se este é o mesmo valor exibido em seu aplicativo Visual Basic.
back to the top
Referências
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
145679COMO: Usar a API do Registro para salvar e recuperar configuração
back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 315586 - Última Revisão: 10/26/2002 21:02:00 - Revisão: 1.0

Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbmt kbapi kbhowto kbhowtomaster kbinfo kbregistry KB315586 KbMtpt
Comentários