/// <summary> /// 返回RegistryKey对象 /// </summary> /// <param name="keyType">注册表基项枚举</param> /// <returns></returns> private static RegistryKey GetRegistryKey(RegisterKeyType keyType) { RegistryKey rk = null; // ReSharper disable once SwitchStatementMissingSomeCases switch (keyType) { case RegisterKeyType.HKEY_CLASS_ROOT: rk = Registry.ClassesRoot; break; case RegisterKeyType.HKEY_CURRENT_USER: rk = Registry.CurrentUser; break; case RegisterKeyType.HKEY_LOCAL_MACHINE: rk = Registry.LocalMachine; break; case RegisterKeyType.HKEY_USERS: rk = Registry.Users; break; case RegisterKeyType.HKEY_CURRENT_CONFIG: rk = Registry.CurrentConfig; break; } return(rk); }
/// <summary> /// 构造函数 /// </summary> /// <param name="keyType">注册表基项枚举</param> /// <param name="baseKey">基项的名称</param> public RegisterHelper(RegisterKeyType keyType, string baseKey = "SOFTWARE") { var rk = GetRegistryKey(keyType); SoftWare = rk.OpenSubKey(baseKey, true); }