Lire les cles de la base de registre

madustbin Messages postés 29 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 20 novembre 2016 - 23 mars 2005 à 23:54
madustbin Messages postés 29 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 20 novembre 2016 - 25 mars 2005 à 04:05
Bonjour.

Je suis nouveau, j'ai fais une recherche infructueuse, alors si la reponse se trouve deja sur le forum (voir plusieurs fois), veuillez me pardonner.

Je connais une partie d'une clé dans la base de registre(BdR) et je voudrais pouvoir la lire.
Pour cela, 2 moyens :
1. acces direct - auquel cas il me faudrais connaitre la cle en entier. Elle est constitue de l'ID utilisateur. Et je ne sais pas ou je peux recuperer cette information. Par programme VB evidemment et non en lisant la BdR avec Regedit)
2. Acces sequentiel - je pourrais comparer chaque cle et voir celle qui contient la partie de la cle que je connais. Mais je ne sais pas comment faire cela avec vb6

Si quelqu'un pouvait m'eclairer, cela serait sympa.

exemple de la cle que je recherche :

HKEY_USERS\ID_utilisateur_Classes\CLSID\Programme
où ID_utilisateur a cette forme: S-1-1-11-123456789-123456789-123456789-1234et correspond a la partie de la cle que je ne connais pas<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />

5 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 mars 2005 à 08:27
G un module, ki permet de faire cela (et plein de chose avec le registre), mais il faut ke g le retrouve.


Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
madustbin Messages postés 29 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 20 novembre 2016
24 mars 2005 à 11:49
J'attends avec impatience une reponse suivante de ta part.

Merci.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 mars 2005 à 12:36
g l'ai retrouvé, passe moi t main en pv.


Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
madustbin Messages postés 29 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 20 novembre 2016
24 mars 2005 à 23:26
bon, je ne vois toujours rien dans ma boite aux lettre et il semble que je n'ai pas de message prive sur le forum.

Je t'ai pourtant envoye un message prive. Bref, quand tu relieras cette discussion, tu sauras que j'en ai pris connaissance et que j'attend avec impatience de tes nouvelles.

madustbin@yahoo.fr
0

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

Posez votre question
madustbin Messages postés 29 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 20 novembre 2016
25 mars 2005 à 04:05
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

A force de recherche sur internet, j'ai trouve trouve le projet d'un ingenieur qui effectuait - entre autres - ce que je souhait.


Ca m'a pris 3 heures pour l'epurer et n'en garder que l'essentiel.


Du coup ca n'est pas aussi propre que son programme mais c'est nettement plus concis.


Je laisse le code pour le cas ou quelqu'un d'autre en aurait besoin.

--------------------------------------------------------------------------


Option Explicit





Private Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hkey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long


Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hkey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long





Private Sub Form_Load()


Const VBREG_HKEY_CURRENT_USER As Long = &H80000001


Const SousCle As String = "Software\Microsoft\Protected Storage System Provider"


Const VBREG_KEY_ENUMERATE_SUB_KEYS As Long = &H8


Dim STR_name As String


Dim last_key_open As Long


Dim Resultat As Long


Dim TheGoodOne As String





Resultat = RegOpenKeyEx(VBREG_HKEY_CURRENT_USER, SousCle, 0&, ByVal VBREG_KEY_ENUMERATE_SUB_KEYS, last_key_open)





STR_name = String(513, Chr$(0))


Resultat = RegEnumKey(last_key_open, 0, ByVal STR_name, 512)


TheGoodOne = Left$(STR_name, InStr(1, STR_name, Chr$(0)) - 1)





MsgBox (TheGoodOne)


End


End Sub
----------------------------------------------------------------------

Merci encore de votre aide!
0
Rejoignez-nous