VB: lire valeur clé dans registre
edgar
-
zmat Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
zmat Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je souhaiterais votre aide concernant la macro plus bas qui me permet avec VB5 de récupérer la donnée contenue dans la valeur d'une clé. J'utilise des api windows. Tout a l'air de marcher mis à part la taille du buffer dans la fonction RegQueryValueEx. Lorsqu'on place un espion sur ce champs, on s'aperçoit qu'il est tout le temps nul. Avez-vous une idée svp c'est très important.
Merci.
Edgar
Public Function read_a_value() As Variant
resultat = 0 'on suppose que tout marchera bien pour l'ouverture de la clé
'on ouvre la clé (en faisant comme si on la créait),
'et on obtient ainsi un identificateur stocké dans Ident
'qui nous permettra d'accéder à la clé
resultat = RegCreateKey(HKEY_CURRENT_USER, "TEMP", Ident)
If resultat <> 0 Then 's'il y'a eu une erreur à l'ouverture de la clé
Exit Function 'sortir
End If
'Détermine la taille de la donnée de la valeur à lire
resultat = RegQueryValueEx(Ident, "TEMP", 0&, 1, 0&, TailleBuffer)
If TailleBuffer < 2 Then 'c'est à dire qu'il n'y a que le caractère null (ou alors rien du tout)
'Pas de donnée à lire
valeur = "[Vide]"
Exit Function
End If
'Alloue à "Donnee" la taille nécessaire pour stocker la donnée de la valeur
Donnee = String(TailleBuffer + 1, " ") 'Nombre de caractères plus un pour le caractère null qui est mis à la fin
'Trouve la donnée de la valeur
resultat = RegQueryValueEx(Ident, "TEMP", 0&, 1, ByVal Donnee, TailleBuffer)
'Retire le caractère null final
Donnee = Left(Donnee, TailleBuffer - 1)
read_a_value = Donnee
End Function
Merci.
Edgar
Public Function read_a_value() As Variant
resultat = 0 'on suppose que tout marchera bien pour l'ouverture de la clé
'on ouvre la clé (en faisant comme si on la créait),
'et on obtient ainsi un identificateur stocké dans Ident
'qui nous permettra d'accéder à la clé
resultat = RegCreateKey(HKEY_CURRENT_USER, "TEMP", Ident)
If resultat <> 0 Then 's'il y'a eu une erreur à l'ouverture de la clé
Exit Function 'sortir
End If
'Détermine la taille de la donnée de la valeur à lire
resultat = RegQueryValueEx(Ident, "TEMP", 0&, 1, 0&, TailleBuffer)
If TailleBuffer < 2 Then 'c'est à dire qu'il n'y a que le caractère null (ou alors rien du tout)
'Pas de donnée à lire
valeur = "[Vide]"
Exit Function
End If
'Alloue à "Donnee" la taille nécessaire pour stocker la donnée de la valeur
Donnee = String(TailleBuffer + 1, " ") 'Nombre de caractères plus un pour le caractère null qui est mis à la fin
'Trouve la donnée de la valeur
resultat = RegQueryValueEx(Ident, "TEMP", 0&, 1, ByVal Donnee, TailleBuffer)
'Retire le caractère null final
Donnee = Left(Donnee, TailleBuffer - 1)
read_a_value = Donnee
End Function
A voir également:
- VB: lire valeur clé dans registre
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Vb editor - Télécharger - Langages
- Vb runtime - Télécharger - Divers Utilitaires
- Vb express - Télécharger - Langages