Salut à tous,

Pour récuperer la valeur d'une entrée dans le registre (HKEY_CURRENT_USER\Environment\TMP) j'utilise les API RegOpenKeyEx et RegQueryValueEx comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
(...)
' Ouvrir d'abord la clé
Dim hCle As Long
RegOpenKeyEx HKEY_CURRENT_USER, "Environment", 0, KEY_ALL_ACCESS, hCle
 
' On lit maintenant
Dim lpType As Long, LeBuffer As String, Longueur As Long
Longueur = 255
LeBuffer = Space(Longueur)
RegQueryValueEx hCle, ByVal "TMP", ByVal 0&, lpType, byval LeBuffer, Longueur
LeBuffer = Left(LeBuffer, Longueur - 1)
(...)
le code marche trés bien, MAIS : Pourquoi passer LeBuffer par valeur (si je la passe ByRef, VB plante ), je croyais que, pour attaquer la variable elle même, nous devons la passer ByRef..