zoukankan      html  css  js  c++  java
  • RegistryHelper注册表辅助类

    using Microsoft.Win32;
    
    namespace PowerEasy.Software.OfficeConvertService
    {
        /// <summary>
        ///     注册表辅助类
        /// </summary>
        public class RegistryHelper
        {
            private const string SoftName = "OfficeConvertService";//您的软件所用到的注册表节点,所有键值对将在该节下创建
    
            /// <summary>
            ///     取得注册表值
            /// </summary>
            /// <param name="name"></param>
            /// <returns></returns>
            public static string GetKeyValue(string name)
            {
                RegistryKey hkml = Registry.LocalMachine;
                RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
                if (software != null)
                {
                    RegistryKey subKeys = software.OpenSubKey(SoftName, true);
                    if (subKeys != null)
                    {
                        string registData = subKeys.GetValue(name).ToString();
                        return registData;
                    }
                }
                return string.Empty;
            }
    
            /// <summary>
            ///     添加注册表键值对
            /// </summary>
            /// <param name="key"></param>
            /// <param name="keyValue"></param>
            public static void AddKey(string key, string keyValue)
            {
                RegistryKey hklm = Registry.LocalMachine;
                RegistryKey software = hklm.OpenSubKey("SOFTWARE", true);
                if (software != null)
                {
                    RegistryKey subKey = software.CreateSubKey(SoftName);
                    if (subKey != null) subKey.SetValue(key, keyValue);
                }
            }
    
            /// <summary>
            ///     删除注册表键
            /// </summary>
            /// <param name="key"></param>
            public static void DeleteKey(string key)
            {
                RegistryKey hkml = Registry.LocalMachine;
                RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
                if (software != null)
                {
                    RegistryKey subKey = software.OpenSubKey(SoftName, true);
                    if (subKey != null)
                    {
                        string[] aimnames = subKey.GetSubKeyNames();
                        foreach (string aimKey in aimnames)
                        {
                            if (aimKey == key)
                                subKey.DeleteSubKeyTree(key);
                        }
                    }
                }
            }
    
            /// <summary>
            ///     检查注册表是否存在键
            /// </summary>
            /// <param name="key"></param>
            /// <returns></returns>
            public static bool IsRegisted(string key)
            {
                try
                {
                    RegistryKey hkml = Registry.LocalMachine;
                    RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
                    if (software != null)
                    {
                        RegistryKey subKeys = software.OpenSubKey(SoftName, true);
                        if (subKeys != null)
                        {
                            string[] keyNames = subKeys.GetValueNames();
                            foreach (string keyName in keyNames)
                            {
                                if (keyName == key)
                                {
                                    return true;
                                }
                            }
                        }
                    }
                }
                catch
                {
                    return false;
                }
                return false;
            }
        }
    }

  • 相关阅读:
    NodeMCU快速上云集锦
    云数据库 MySQL 8.0 重磅发布,更适合企业使用场景的RDS数据库
    MySQL 8.0 技术详解
    为更强大而生的开源关系型数据库来了!阿里云RDS for MySQL 8.0 正式上线!
    阿里云CDN技术掌舵人文景:相爱相杀一路狂奔的这十年
    容器服务kubernetes federation v2实践五:多集群流量调度
    Helm V3 新版本发布
    Serverless助力AI计算:阿里云ACK Serverless/ECI发布GPU容器实例
    详解TableStore模糊查询——以订单场景为例
    洛谷P2727 01串 Stringsobits
  • 原文地址:https://www.cnblogs.com/zhangqs008/p/3763811.html
Copyright © 2011-2022 走看看