Updated d7II cleanup for Windows 7
This commit is contained in:
parent
3c950e3c56
commit
f1b3ffb483
1 changed files with 17 additions and 9 deletions
|
|
@ -4,9 +4,13 @@ from functions.common import *
|
|||
|
||||
# STATIC VARIABLES
|
||||
D7_HKCR_CLEANUP = {
|
||||
r'batfile\shell\!!RunWithParms': {'Recurse': True},
|
||||
r'batfile\shell\{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}': {'Recurse': True},
|
||||
r'cmdfile\shell\!!RunWithParms': {'Recurse': True},
|
||||
r'cmdfile\shell\{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}': {'Recurse': True},
|
||||
r'exefile\shell\!!RunWithParms': {'Recurse': True},
|
||||
r'exefile\shell\ResourceHacker': {'Recurse': True},
|
||||
r'regfile\shell\!!RunWithParms': {'Recurse': True},
|
||||
r'regfile\shell\{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}': {'Recurse': True},
|
||||
}
|
||||
D7_HKCU_CLEANUP = {
|
||||
|
|
@ -226,16 +230,20 @@ def delete_registry_key(hive, key, recurse=False):
|
|||
"""Delete a registry key and all it's subkeys."""
|
||||
access = winreg.KEY_ALL_ACCESS
|
||||
|
||||
if recurse:
|
||||
# Delete all subkeys first
|
||||
with winreg.OpenKeyEx(hive, key, 0, access) as k:
|
||||
key_info = winreg.QueryInfoKey(k)
|
||||
for x in range(key_info[0]):
|
||||
subkey = r'{}\{}'.format(key, winreg.EnumKey(k, 0))
|
||||
delete_registry_key(hive, subkey)
|
||||
try:
|
||||
if recurse:
|
||||
# Delete all subkeys first
|
||||
with winreg.OpenKeyEx(hive, key, 0, access) as k:
|
||||
key_info = winreg.QueryInfoKey(k)
|
||||
for x in range(key_info[0]):
|
||||
subkey = r'{}\{}'.format(key, winreg.EnumKey(k, 0))
|
||||
delete_registry_key(hive, subkey)
|
||||
|
||||
# Delete key
|
||||
winreg.DeleteKey(hive, key)
|
||||
# Delete key
|
||||
winreg.DeleteKey(hive, key)
|
||||
except FileNotFoundError:
|
||||
# Ignore
|
||||
pass
|
||||
|
||||
def delete_registry_value(hive, key, value):
|
||||
"""Delete a registry value."""
|
||||
|
|
|
|||
Loading…
Reference in a new issue