zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    
  • 相关阅读:
    Android NDK 环境搭建(Native Development Kit )
    No enclosing instance of type Test is accessible. Must qualify the allocation with an enclosing in
    ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的?
    解决FileUpload控件上传文件大小限制
    学习图表控件MsChart
    Delphi PChar与String互转
    Ext.data.Store的基本用法
    My97 DatePicker 日期格式
    ASP.net流的方式输出图片或文件
    C# 二进制、十进制、十六进制互转
  • 原文地址:https://www.cnblogs.com/yincq/p/13652694.html
Copyright © 2011-2022 走看看