def get_reg_value(hkey, subkey, name): value = None registry_key = RegistryHelper.get_key(hkey, subkey, KEY_READ, False) if registry_key: try: if PlatformHelper.is_64bit_machine(): value, _ = win32api.RegQueryValueEx(registry_key, name) else: value, _ = QueryValueEx(registry_key, name) except WindowsError as e: LogHelper.error(str(e)) value = None finally: RegistryHelper.close_key(registry_key) return value
def close_key(registry_key): closed = False if registry_key: try: if PlatformHelper.is_64bit_machine(): win32api.RegCloseKey(registry_key) closed = True else: CloseKey(registry_key) closed = True except WindowsError as e: print str(e) LogHelper.error(str(e)) closed = False return closed
def set_reg_value(hkey, subkey, name, value, type): result = False registry_key = RegistryHelper.get_key(hkey, subkey, KEY_WRITE, True) if registry_key: try: if PlatformHelper.is_64bit_machine(): win32api.RegSetValueEx(registry_key, name, 0, type, value) result = True else: SetValueEx(registry_key, name, 0, type, value) result = True except WindowsError as e: LogHelper.error(str(e)) result = False finally: RegistryHelper.close_key(registry_key) return result
def delete_key(hkey, subkey, name): result = None registry_key = RegistryHelper.get_key(hkey, subkey, KEY_READ, False) print registry_key if registry_key: try: if PlatformHelper.is_64bit_machine(): result = win32api.RegDeleteKey(registry_key, name) else: result = DeleteKey(registry_key, name) print result except WindowsError as e: print str(e) LogHelper.error(str(e)) result = None finally: RegistryHelper.close_key(registry_key) return result
def get_key(hkey, subkey, access, is_existed=True): registry_key = None try: if PlatformHelper.is_64bit_machine(): registry_key = win32api.RegOpenKeyEx( hkey, subkey, 0, win32con.WRITE_OWNER | win32con.KEY_WOW64_64KEY | win32con.KEY_ALL_ACCESS) else: registry_key = OpenKey(hkey, subkey, 0, access) except WindowsError: try: if is_existed: registry_key = CreateKey(hkey, subkey) else: registry_key = None except WindowsError as e: LogHelper.error(str(e)) if registry_key: RegistryHelper.close_key(registry_key) raise Exception('Fail to get Registry key.') return registry_key