private RegistryKey OpenNewBaseKey() { RegistryHive key = BaseRegistryKey.ToString().ToUpper() switch { "HKEY_CLASSES_ROOT" => RegistryHive.ClassesRoot, "HKEY_USERS" => RegistryHive.Users, "HKEY_CURRENT_USER" => RegistryHive.CurrentUser, "HKEY_LOCAL_MACHINE" => RegistryHive.LocalMachine, _ => RegistryHive.LocalMachine, }; if (RemotePC != null) { return(RegistryKey.OpenRemoteBaseKey(key, RemotePC, BaseRegistryView)); } else { return(RegistryKey.OpenBaseKey(key, BaseRegistryView)); } }