add / fix in registry and registry sample

This commit is contained in:
Clement Rouault
2016-04-01 17:34:56 +02:00
parent 6c1b4cf5e6
commit 0e9ec9ed82
2 changed files with 17 additions and 6 deletions
+5 -5
View File
@@ -8,21 +8,21 @@ import windows
registry = windows.system.registry
print("Registry is <{0}>".format(registry))
current_user = registry["HKEY_CURRENT_USER"]
current_user = registry("HKEY_CURRENT_USER")
print("HKEY_CURRENT_USER is <{0}>".format(current_user))
subkeys_name = [s.name for s in current_user.subkeys]
print("HKEY_CURRENT_USER subkeys names are:")
pprint.pprint(subkeys_name)
print("Opening 'Software' in HKEY_CURRENT_USER: {0}".format(current_user["Software"]))
print("We can also open it in one access: {0}".format(registry[r"HKEY_CURRENT_USER\Sofware"]))
print("Opening 'Software' in HKEY_CURRENT_USER: {0}".format(current_user("Software")))
print("We can also open it in one access: {0}".format(registry(r"HKEY_CURRENT_USER\Sofware")))
print("Looking at CurrentVersion")
windows_info = registry["HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"]
windows_info = registry("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion")
print("Key is {0}".format(windows_info))
print("values are:")
pprint.pprint(windows_info.values)
registered_owner = windows_info.get("RegisteredOwner")
registered_owner = windows_info["RegisteredOwner"]
print("registered owner = <{0}>".format(registered_owner))
+12 -1
View File
@@ -68,6 +68,14 @@ class PyHKey(object):
res.append(_winreg.EnumValue(self.phkey, i))
return [KeyValue(*r) for r in res]
@property
def info(self):
return _winreg.QueryInfoKey(self.phkey)
@property
def last_write(self):
return self.info[2]
def get(self, value_name):
"""Retrieves the value ``value_name``
@@ -150,7 +158,10 @@ class Registry(object):
"""
if name in self.registry_base_keys:
return self.registry_base_keys[name]
key = self.registry_base_keys[name]
if sam != key.sam:
key = key.reopen(sam)
return key
if "\\" not in name:
raise ValueError("Unknow registry base key <{0}>".format(name))
base_name, subkey = name.split("\\", 1)