Cet article explique comment utiliser une application Visual Basic pour accéder au Registre sur un ordinateur distant en association avec l'interface de programmation d'applications Windows (API).
Vous devez les matériels et logiciels pour effectuer les procédures décrites dans cet article suivants :
Un Microsoft Windows XP, Microsoft Windows 2000 ou ordinateur Windows NT 4.0
Visual Basic 6.0
Remarque : si le Registre distant est sur un système qui exécute Windows NT 4.0, Windows 2000 ou Windows XP, vous devez exécuter le code à partir d'un compte disposant d'autorisation de lire ce Registre.
Démarrez Visual Basic 6.0 et puis créer un nouveau projet de type EXE standard.
Cliquez avec le bouton droit sur le formulaire, puis cliquez sur Afficher le code dans le menu contextuel . Ajoutez l'instruction suivante au début du code :
Option Explicit
Ajoutez le code suivant pour déclarer les constantes utilisées pour accéder au Registre :
Ajoutez le code suivant pour déclarer les points d'entrée pour les fonctions du Registre dans l'interface de programmation d'application Windows (API):
Private Declare Function RegConnectRegistry Lib "advapi32.dll" _
Alias "RegConnectRegistryA" _
(ByVal lpMachineName As String, _
ByVal hKey As Long, _
phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long
Private 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
Ajoutez la déclaration variable globale suivante :
Private hRemoteReg As Long
Ajoutez le code suivant pour gérer l'événement Form_Load. Ce code appelle la fonction RegConnectRegistry pour se connecter au Registre distant. Remplacez le paramètre \\RemoteMachineName par le nom de l'ordinateur dont vous souhaitez accéder du Registre :
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 If
End Sub
Ajoutez le code suivant pour gérer l'événement Form_Unload :
Private Sub Form_Unload(Cancel As Integer)
Dim lRet As Long
If hRemoteReg <> 0 Then
lRet = RegCloseKey(hRemoteReg)
End If
End Sub
Dans le concepteur de formulaires, ajoutez un contrôle commande à l'écran. Le contrôle a le nom par défaut de Command1 .
Double-cliquez sur Command1 pour créer un gestionnaire de clic pour le bouton de commande. Ajoutez le code suivant à la fonction de gestionnaire de clic :
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 If
End Sub
Pour vérifier cette valeur de Registre, exécutez regedit.exe sur l'ordinateur distant. Dans l'Éditeur du Registre, cliquez sur Rechercher dans le menu Edition . Tapez SystemBIOSVersion et puis cliquez sur suivant . Après une courte pause, l'Éditeur du Registre affiche la valeur de cette clé ; vérifier que c'est la même valeur affichée dans votre application Visual Basic.
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 315586
(http://support.microsoft.com/kb/315586/en-us/
)
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Envoyez-nous vos commentaires sur les informations de cette page
Ces informations vous ont-elles aidé à résoudre votre problème ?
Oui
Non
Je ne sais pas
Ces informations étaient-elles pertinentes ?
Oui
Non
Que pourrions-nous faire pour améliorer ces informations ?
Attention : Veuillez ne pas indiquer vos coordonnées personnelles (adresse email ou numéro de téléphone) dans vos commentaires ci-dessous. Ce champ de commentaires ne permet pas de joindre le support technique Microsoft. Si vous avez une demande relative à une difficulté technique,cliquez ici pour contacter le Support Technique Microsoft
Merci ! Vos commentaires sont très utiles pour l'amélioration de notre contenu d'aide et de support. Si vous avez besoin d'aide complémentaire, veuillez consulter la page d'accueil d'aide et support.