Bonjour,
je voudrais savoir comment lire les clés : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\
elle existe dans mon registre mais regedit ne l'a montre pas ?
merci
Bonjour,
je voudrais savoir comment lire les clés : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\
elle existe dans mon registre mais regedit ne l'a montre pas ?
merci
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Bonjour,
oui mais c'est de ma faute pour cette clé (j'utilisais l'ouverture de clé à partir d'un soft pour éviter de chercher et l'empilage de fenêtre a fait que..) par contre les extensions google chrome qui elles existent bien et pas de lecture possible HKLM\SOFTWARE\Google\Chrome\Extensions\ alors que le code est le même pour toutes les clés qui fonctionnent bien.
merci
exemple de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 try: regHandle = _winreg.OpenKey( _winreg.HKEY_LOCAL_MACHINE,'HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0',0, _winreg.KEY_READ) Intelproces, value = _winreg.QueryValueEx(regHandle,'ProcessorNameString') text2.insert(END,u'Nom processeur ........ : '+Intelproces+'\n\r') except EnvironmentError as err: text2.insert(END,u'Lecture impossibles'+'\n\r') pass _winreg.CloseKey(regHandle)
Bonjour,
Je ne suis pas familier de ce genre de sport (et j'évite même soigneusement de toucher au registre), mais on peut lire le registre de Windows avec le module Python "winreg".
Voilà un petit exemple:
Ce qui retourne quelque chose comme:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 #!/usr/bin/python # -*- coding: utf-8 -*- # Python 3 import winreg ############################################################################# def lireregistre(key, subkey, name=None): try: fkey = winreg.OpenKey(key, subkey) except Exception as err: return str(err) # arrêt anormal: on renvoie le message d'erreur result, i = [], 0 while True: try: n, v, t = winreg.EnumValue(fkey, i) if name!=None and name==n: return [n, v, t] result.append([n, v, t]) except EnvironmentError: break # arrêt normal: il n'y a plus de clé à lire except Exception as err: return str(err) # arrêt anormal: on renvoie le message d'erreur i += 1 winreg.CloseKey(fkey) return result ############################################################################# if __name__ == '__main__': key = winreg.HKEY_LOCAL_MACHINE print(key) subkey = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run" print(subkey) print() result = lireregistre(key, subkey) if isinstance(result, str): print("Erreur:", result) else: for element in result: print(element)
Le dernier chiffre correspond au type de valeur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ... ... ['iTunesHelper', '"C:\\Program Files (x86)\\iTunes\\iTunesHelper.exe"', 1] ['SunJavaUpdateSched', '"C:\\Program Files (x86)\\Common Files\\Java\\Java Update\\jusched.exe"', 1] ... ...
Il y a cependant quelque chose d'inattendu: les clés et valeurs retournées par le code Python ne correspondent pas à ce qu'on lit dans le registre!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 winreg.REG_NONE => 0 winreg.REG_SZ => 1 winreg.REG_EXPAND_SZ => 2 winreg.REG_BINARY => 3 winreg.REG_DWORD => 4 winreg.REG_DWORD_LITTLE_ENDIAN => 4 winreg.REG_DWORD_BIG_ENDIAN => 5 winreg.REG_LINK => 6 winreg.REG_MULTI_SZ => 7 winreg.REG_RESOURCE_LIST => 8 winreg.REG_FULL_RESOURCE_DESCRIPTOR => 9 winreg.REG_RESOURCE_REQUIREMENTS_LIST => 10
Cela provient du fait que je suis avec un Windows 64bits: Quand je cherche à lire ici:
Le code me renvoie ce qui se trouve ici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
Ce qui coïncide, cette fois avec regedit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part r"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run"
Plus d'infos ici sur ce point: http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Bonjour,
Humm oui, en 64 bits cette clé permet la compatibilité avec un 32 bits si je ne me trompe pas
je ne fais que de lire le registre donc pas de souci, c'est une mine d'information sur le fonctionnement de windows, intéressant..
merci tyrtamos je regarde cela
Re
Oui c'est bien ça, je dois passer par cette clé 64 bits
merci
Partager