Lire et ecrire dans le registre windows avec Access

serber38 Messages postés 28 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 31 juillet 2008 - 1 avril 2004 à 21:08
serber38 Messages postés 28 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 31 juillet 2008 - 6 avril 2004 à 09:36
Je souhaiterais savoir comment lire et ecrire des données dans la base de registre. Je souhaite créer, dans un formulaire, un bouton qui m'indiquera par un msgbox la valeur d'une clé.
@+, s.serber38

6 réponses

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
1 avril 2004 à 21:55
C'est tout simple tu crée un module dans ta bdd puis tu ajoute quelque API genre :

Declare function RegQueryValue lib "advapi.dll" etc...

puis tu appel les fonctions comme dans n'importe quel programme. tu trouvera plein d'exemple sur ce site en recherchant a la rubrique "base de registre" ou en
examinant la source suivante :

http://www.vbfrance.com/code.aspx?ID=4784

@+

E.B.
0
serber38 Messages postés 28 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 31 juillet 2008
5 avril 2004 à 19:55
Alors voilà, j'ai mis ce code dans un bouton sur un formulaire, mais comment je fais pour lire ou écrire dans un valeur de chaine du registre???
-------------

'--Accès à la base de registre
'--Reg Key Security Options...
Const READ_CONTROL = &H20000
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
'-- Reg Key ROOT Types...
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003

Const ERROR_SUCCESS = 0
Const REG_SZ = 1 ' Unicode nul terminated string
Const REG_DWORD = 4 ' 32-bit number

Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long

----------------------------
@+, s.serber38
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
6 avril 2004 à 07:39
Apres tu lit dans la base comme ceci (par exemple):

'pur lire la clef HKEY_CLASSES_ROOT>Clef>deflaut

dim Buffer as string * 256
RegQueryValue HKEY_CLASSES_ROOT, "Clef", Buffer, 256

@+

E.B.
0
serber38 Messages postés 28 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 31 juillet 2008
6 avril 2004 à 08:07
ok, merci!!!
En fait, je viens de trouver un code plus simple:
Set WSHShell = CreateObject("Wscript.Shell")
'Pour lire
test = WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId")
'Pour écrire
WSHShell.RegWrite"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId", "Données a écrire"

@+, s.serber38
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
6 avril 2004 à 08:11
tu trouve ça plus simple ?

Fait tout de meme attention les script son bloqué par
les anti-virus comme norton alors que les appel a
l'API non...

@+

E.B.
0
serber38 Messages postés 28 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 31 juillet 2008
6 avril 2004 à 09:36
ah, ok!!!

Merci de l'info, et comme je debute, ben je comprend a peu pres en faite le script que j'ai marqué alors que les autres non....
@+, s.serber38
0
Rejoignez-nous