Lire et ecrire dans le registre windows avec Access

serber38 28 Messages postés dimanche 9 février 2003Date d'inscription 31 juillet 2008 Dernière intervention - 1 avril 2004 à 21:08 - Dernière réponse : serber38 28 Messages postés dimanche 9 février 2003Date d'inscription 31 juillet 2008 Dernière intervention
- 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
Afficher la suite 

6 réponses

cs_EBArtSoft 4530 Messages postés dimanche 29 septembre 2002Date d'inscription 23 décembre 2014 Dernière intervention - 1 avril 2004 à 21:55
0
Utile
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.
serber38 28 Messages postés dimanche 9 février 2003Date d'inscription 31 juillet 2008 Dernière intervention - 5 avril 2004 à 19:55
0
Utile
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
cs_EBArtSoft 4530 Messages postés dimanche 29 septembre 2002Date d'inscription 23 décembre 2014 Dernière intervention - 6 avril 2004 à 07:39
0
Utile
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.
serber38 28 Messages postés dimanche 9 février 2003Date d'inscription 31 juillet 2008 Dernière intervention - 6 avril 2004 à 08:07
0
Utile
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
cs_EBArtSoft 4530 Messages postés dimanche 29 septembre 2002Date d'inscription 23 décembre 2014 Dernière intervention - 6 avril 2004 à 08:11
0
Utile
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.
serber38 28 Messages postés dimanche 9 février 2003Date d'inscription 31 juillet 2008 Dernière intervention - 6 avril 2004 à 09:36
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.