<PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />

Microsoft.Win32.RegistryKey

public sealed class RegistryKey : MarshalByRefObject, IDisposable
Represents a key-level node in the Windows registry. This class is a registry encapsulation.
namespace Microsoft.Win32 { public sealed class RegistryKey : MarshalByRefObject, IDisposable { public int SubKeyCount { get; } public RegistryView View { get; } public SafeRegistryHandle Handle { get; } public int ValueCount { get; } public string Name { get; } public void Flush(); public void Close(); public void Dispose(); public RegistryKey CreateSubKey(string subkey); public RegistryKey CreateSubKey(string subkey, bool writable); public RegistryKey CreateSubKey(string subkey, bool writable, RegistryOptions options); public RegistryKey CreateSubKey(string subkey, RegistryKeyPermissionCheck permissionCheck); public RegistryKey CreateSubKey(string subkey, RegistryKeyPermissionCheck permissionCheck, RegistryOptions registryOptions, RegistrySecurity registrySecurity); public RegistryKey CreateSubKey(string subkey, RegistryKeyPermissionCheck permissionCheck, RegistrySecurity registrySecurity); public RegistryKey CreateSubKey(string subkey, RegistryKeyPermissionCheck permissionCheck, RegistryOptions registryOptions); public void DeleteSubKey(string subkey); public void DeleteSubKey(string subkey, bool throwOnMissingSubKey); public void DeleteSubKeyTree(string subkey); public void DeleteSubKeyTree(string subkey, bool throwOnMissingSubKey); public void DeleteValue(string name); public void DeleteValue(string name, bool throwOnMissingValue); public static RegistryKey OpenBaseKey(RegistryHive hKey, RegistryView view); public static RegistryKey OpenRemoteBaseKey(RegistryHive hKey, string machineName); public static RegistryKey OpenRemoteBaseKey(RegistryHive hKey, string machineName, RegistryView view); public RegistryKey OpenSubKey(string name); public RegistryKey OpenSubKey(string name, bool writable); public RegistryKey OpenSubKey(string name, RegistryKeyPermissionCheck permissionCheck); public RegistryKey OpenSubKey(string name, RegistryRights rights); public RegistryKey OpenSubKey(string name, RegistryKeyPermissionCheck permissionCheck, RegistryRights rights); public RegistrySecurity GetAccessControl(); public RegistrySecurity GetAccessControl(AccessControlSections includeSections); public void SetAccessControl(RegistrySecurity registrySecurity); public static RegistryKey FromHandle(SafeRegistryHandle handle); public static RegistryKey FromHandle(SafeRegistryHandle handle, RegistryView view); public string[] GetSubKeyNames(); public string[] GetValueNames(); public object GetValue(string name); public object GetValue(string name, object defaultValue); public object GetValue(string name, object defaultValue, RegistryValueOptions options); public RegistryValueKind GetValueKind(string name); public void SetValue(string name, object value); public void SetValue(string name, object value, RegistryValueKind valueKind); } }