• C# 注册表操作类(查询、修改、删除)


    注册表操作需要获取管理员权限,可以将exe设置为管理员启动。具体操作代码如下:

    /// <summary>
    /// 注册表  HKEY_LOCAL_MACHINE/SOFTWARE 节点下
    /// </summary>
    public static class RegistryHelper
    {
        private const string Node = "SOFTWARE";
    
        public static string GetRegistryData(string node, string key)
        {
            string registData;
            RegistryKey hkml = Registry.LocalMachine;
            RegistryKey software = hkml.OpenSubKey(Node, true);
            RegistryKey dir = software.OpenSubKey(node, true);
            registData = dir.GetValue(key)?.ToString();
            return registData;
        }
    
        /// <summary>
        /// 写入注册表
        /// </summary>
        /// <param name="node">节点</param>
        /// <param name="name">注册项名称</param>
        /// <param name="value">注册项值</param>
        public static void WriteRegistry(string node, string name, string value)
        {
            RegistryKey hklm = Registry.LocalMachine;
            RegistryKey software = hklm.OpenSubKey(Node, true);
            RegistryKey dir = software.CreateSubKey(node);
            if (dir != null)
                dir.SetValue(name, value);
        }
    
        /// <summary>
        /// 删除注册表
        /// </summary>
        /// <param name="node"></param>
        /// <param name="name"></param>
        public static void DeleteRegistry(string node, string name)
        {
            string[] aimnames;
            RegistryKey hkml = Registry.LocalMachine;
            RegistryKey software = hkml.OpenSubKey(Node, true);
            RegistryKey dir = software.OpenSubKey(node, true);
            aimnames = dir.GetSubKeyNames();
            foreach (string aimKey in aimnames)
            {
                if (aimKey == name)
                    dir.DeleteSubKeyTree(name);
            }
        }
    
        /// <summary>
        /// 查询节点是否存在
        /// </summary>
        /// <param name="node"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static bool IsRegeditExit(string node, string name)
        {
            bool _exit = false;
            string[] subkeyNames;
            RegistryKey hkml = Registry.LocalMachine;
            RegistryKey software = hkml.OpenSubKey(Node, true);
            RegistryKey dir = software.OpenSubKey(node, true);
            subkeyNames = dir.GetSubKeyNames();
            foreach (string keyName in subkeyNames)
            {
                if (keyName == name)
                {
                    _exit = true;
                    return _exit;
                }
            }
            return _exit;
        }
    }
    
  • 相关阅读:
    深度学习时代的图模型,清华发文综述图网络
    深入解析CNN pooling 池化层原理及其作用
    如何理解线性回归中的“回归”,回归到哪里?
    线性回归中“回归”的含义
    深度学习基础——Epoch、Iteration、Batchsize
    手动清空微信PC客户端数据
    Mini-batch 和batch的区别
    Python中绘制场景热力图
    HSV颜色识别-HSV基本颜色分量范围
    Android拨打接听电话自动免提
  • 原文地址:https://www.cnblogs.com/yincq/p/13652694.html
Copyright © 2020-2023  润新知