Registrer -REG_MULTI_SZ

Signaler
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour,

Je fais un prog ou j'aurai besoin de sauver le contenu d'une listBox dans le registre
J'ai pensé a l'enregistrer en REG_MULTI_SZ

J'utilise le code suivant pour sauver

'// APIs
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Const HKEY_CURRENT_USER = &H80000001
Private Const REG_MULTI_SZ = 7

'// Fonction pour sauver
Private Function SaveReg(hKey As Long, StrPath As String, StrValue As String, StrData As String)
Dim KeyHand As Long
Call RegCreateKey(hKey, StrPath, KeyHand)
Call RegSetValueEx(KeyHand, StrValue, 0, REG_MULTI_SZ, ByVal StrData, Len(StrData))
Call RegCloseKey(KeyHand)
End Function

J'appelle la fonction
Call SaveReg(HKEY_CURRENT_USER, "Software\AAA", "", "Salut" & vbCrLf & "Valeur REG_MULTI_SZ")
(Pensez a supprimer la clé après avoir tester si vous testez (Exécuter: regedit))

Bon ya tout qui marche, mais pour la lire j'y arrive pô
A chaque fois ca me retourne ""
Ca fais longtemp que j'cherche mais j'trouve pas

ChR

1 réponse

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
REG_MULTI_SZ indique un tableau de chaines de format C donc finissant par un ZERO binaire, on ajoute un deuxieme zero pour indiquer la fin du tableau.

ciao...
BruNews, Admin CS, MVP Visual C++