private void CheckAllKeysMethod() { for (int i = ListOfRegKeys.Count; i > 0; i--) { RegistryListItem item = ListOfRegKeys[i - 1]; ListOfRegKeys.Remove(item); if (CheckAllKeysIsChecked) { item.IsChecked = true; } else { item.IsChecked = false; } ListOfRegKeys.Insert(i - 1, item); } }
private async void AnalyzeMethod() { mainWindowViewModel.TabControlIsEnabled = false; ProgressBarIsIndeterminate = true; ListOfRegKeys.Clear(); if (MissingSoftIsChecked) { RegistryItem[] regItems = await Task.Run(() => WindowsRegistryCleaner.HKEY_LOCAL_MACHINE_Software_Microsoft_Windows_CurrentVersion_Uninstall()); foreach (RegistryItem item in regItems) { ListOfRegKeys.Add(new RegistryListItem(true, true, true, item.Key, item.Value, item.ValueData)); } } if (MissingDLLIsChecked) { RegistryItem[] regItems = await Task.Run(() => WindowsRegistryCleaner.HKEY_LOCAL_MACHINE_SOFTWARE_Microsoft_Windows_CurrentVersion_SharedDLLs()); foreach (RegistryItem item in regItems) { ListOfRegKeys.Add(new RegistryListItem(true, false, true, item.Key, item.Value, item.ValueData)); } } if (MissingFilesIsChecked) { RegistryItem[] regItems = await Task.Run(() => WindowsRegistryCleaner.HKEY_CURRENT_USER_SOFTWARE_Microsoft_Windows_NT_CurrentVersion_AppCompatFlags_Compatibility_Assistant()); foreach (RegistryItem item in regItems) { ListOfRegKeys.Add(new RegistryListItem(false, false, true, item.Key, item.Value, item.ValueData)); } } if (MissingMUIIsChecked) { RegistryItem[] regItems = await Task.Run(() => WindowsRegistryCleaner.HKEY_CURRENT_USER_SOFTWARE_Classes_Local_Settings_Software_Microsoft_Windows_Shell_MuiCache()); foreach (RegistryItem item in regItems) { ListOfRegKeys.Add(new RegistryListItem(false, false, true, item.Key, item.Value, item.ValueData)); } } if (InvalidFileExtensionsIsChecked) { RegistryItem[] regItems = await Task.Run(() => WindowsRegistryCleaner.HKEY_CURRENT_USER_SOFTWARE_Microsoft_Windows_CurrentVersion_Explorer_FileExts()); foreach (RegistryItem item in regItems) { ListOfRegKeys.Add(new RegistryListItem(false, true, true, item.Key, item.Value, item.ValueData)); } } if (ReferencesToTheInstallerIsChecked) { RegistryItem[] regItems = await Task.Run(() => WindowsRegistryCleaner.HKEY_LOCAL_MACHINE_SOFTWARE_Microsoft_Windows_CurrentVersion_Installer_Folders()); foreach (RegistryItem item in regItems) { ListOfRegKeys.Add(new RegistryListItem(true, false, true, item.Key, item.Value, item.ValueData)); } } mainWindowViewModel.TabControlIsEnabled = true; ProgressBarIsIndeterminate = false; }
private async void CleanMethod() { mainWindowViewModel.TabControlIsEnabled = false; ProgressBarIsIndeterminate = true; string toExecuteAsAdmin = null; string toExecuteAsUser = null; foreach (RegistryListItem item in ListOfRegKeys) { if (item.IsChecked) { string value = item.Value; if (value != null) { //if end of ValueName is "\" char if (value.LastIndexOf(@"\") == value.Length - 1) { value += @"\"; } } // if (item.DeleteFullKey) { if (item.ReqAdminToModify) { toExecuteAsAdmin += " -DeleteKey \"" + item.Key + "\""; } else { toExecuteAsUser += " -DeleteKey \"" + item.Key + "\""; } } else { if (item.ReqAdminToModify) { toExecuteAsAdmin += " -DeleteValue \"" + item.Key + "\" \"" + value + "\""; } else { toExecuteAsUser += " -DeleteValue \"" + item.Key + "\" \"" + value + "\""; } } } } if (toExecuteAsUser != null) { bool result = await StartRegCleaner(false, toExecuteAsUser); if (result) { for (int i = ListOfRegKeys.Count; i > 0; i--) { if ((ListOfRegKeys[i - 1].IsChecked) && (!ListOfRegKeys[i - 1].ReqAdminToModify)) { ListOfRegKeys.Remove(ListOfRegKeys[i - 1]); } } } } if (toExecuteAsAdmin != null) { bool result = await StartRegCleaner(true, toExecuteAsAdmin); if (result) { for (int i = ListOfRegKeys.Count; i > 0; i--) { if ((ListOfRegKeys[i - 1].IsChecked) && (ListOfRegKeys [i - 1].ReqAdminToModify)) { ListOfRegKeys.Remove(ListOfRegKeys[i - 1]); } } } } mainWindowViewModel.TabControlIsEnabled = true; ProgressBarIsIndeterminate = false; }