static void DeleteDragDropMenuHandlerCommon(const CSysString &keyName) { CKey rootKey; rootKey.Attach(HKEY_CLASSES_ROOT); rootKey.RecurseDeleteKey(GetFullDragDropMenuKeyName(keyName)); rootKey.Detach(); }
static void DeleteShellExtensionProgramKey(const CSysString &extension) { NSynchronization::CCriticalSectionLock lock(g_CriticalSection); CKey rootKey; rootKey.Attach(HKEY_CLASSES_ROOT); rootKey.RecurseDeleteKey(GetExtProgramKeyName(extension)); rootKey.Detach(); }
LONG DeleteShellExtensionInfo(HKEY hkey, const CSysString &ext) { // NSynchronization::CCriticalSectionLock lock(g_CriticalSection); CKey rootKey; rootKey.Attach(hkey); LONG res = rootKey.RecurseDeleteKey(GetExtKeyPath(hkey, ext)); // then we delete only 7-Zip.* key. rootKey.RecurseDeleteKey(GetFullKeyPath(hkey, GetExtProgramKeyName(ext))); rootKey.Detach(); return res; }