コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }