Bonjour.
J'ai un programme pour lire des clés de la bases de registres. Malheureusement, il semble que le programme ne "réagit" pas de la même façon lorsque executé sur un ordinateur x86 et un autre x64.
En effet, le code suivant :
Affiche la meme chose que le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 key= _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,"Software") # list values owned by this registry key try: i = 0 while 1: name = _winreg.EnumKey(key, i) print str(name) i += 1 except WindowsError: nothing=0
Sur une machine x64.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 print print "======= Software Wow6432Node ===============" key= _winreg.OpenKey( _winreg.HKEY_LOCAL_MACHINE, "Software\\Wow6432Node" ) # list values owned by this registry key try: i = 0 while 1: name = _winreg.EnumKey(key, i) print str(name) i += 1 except WindowsError: nothing=0
Apres quelques recherches, j'ai compris que microsoft redirige automatiquement les demandes à la base de registre sur la clée Wow6432Node meme quand on lui demande Software
Voici mon problème. Je suis intéressé à certaine valeur sous la "vrai" clée Software. Si j'ouvre la base de registre avec regedit version 32-bit, je vois bien qu'il y a une clée Software et sous cette clée, on y retrouve Wow6432Node
M'enfin bref, est ce possible avec _winreg de lire la base de registres comme si elle était en 32-bit?
Partager