• C#注册表的读,写,删除,查找


    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using Microsoft.Win32;

    public partial class Register : System.Web.UI.Page
    {
        PRotected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("这里是读取到的信息"+"<br/>");
            ReadRegedit();
            Response.Write("<br/>");
            Response.Write("这里将要写入信息swort/swort-test" + "<br/>");
            WriteRegedit();
            Response.Write("写入结束" + "<br/>");

            Response.Write("查看存在与否" + "<br/>");
            ExistsRegedit();
            Response.Write("查看结束" + "<br/>");
            Response.Write("删除" + "<br/>");
            DeleteRegedit();
            Response.Write("删除结束" + "<br/>");
            Response.Write("查看存在与否" + "<br/>");
            ExistsRegedit();
            Response.Write("查看结束" + "<br/>");
        }
        /// <summary>
        /// 注册表的读取
        /// </summary>
        /// <returns></returns>
        public void ReadRegedit()
        {
            RegistryKey rk = Registry.CurrentUser;
            RegistryKey softWare = rk.OpenSubKey("Software");
            RegistryKey microsoft = softWare.OpenSubKey("Microsoft");   
            RegistryKey windows = microsoft.OpenSubKey("Windows");
            RegistryKey current = windows.OpenSubKey("CurrentVersion");
            RegistryKey explorer = current.OpenSubKey("Explorer");
            RegistryKey shell = explorer.OpenSubKey(@"Shell Folders");

            foreach (string b in shell.GetValueNames())//这里用shell.GetValueNames()不是shell.GetSubKeyNames()
            {
                Response.Write( b+"            "+ shell.GetValue(b).ToString());
                Response.Write("<br/>");
                  
            }
           
       
        }
        /// <summary>
        /// 注册表的写入
        /// </summary>
        /// <returns></returns>
        public bool WriteRegedit()
        {
            try
            {
                RegistryKey rk = Registry.CurrentUser;
                RegistryKey softWare = rk.OpenSubKey("Software");
                RegistryKey microsoft = softWare.OpenSubKey("Microsoft");
                RegistryKey windows = microsoft.OpenSubKey("Windows");
                RegistryKey current = windows.OpenSubKey("CurrentVersion");
                RegistryKey explorer = current.OpenSubKey("Explorer");
                RegistryKey shell = explorer.OpenSubKey(@"Shell Folders", true);//这里必须加true就是得到写入权限
                RegistryKey key = shell.CreateSubKey("swort");//创建swort目录

                key.SetValue("swort", "test");
                //在swort目录下建立写入swort test
                Response.Write("写入成功!!!!!!!!!");
                return true;
            }
            catch
            {
                return false;

            }

            

        }
        /// <summary>
        /// 注册表的删除
        /// </summary>
        /// <returns></returns>
        public bool DeleteRegedit()
        {
            try
            {
                RegistryKey rk = Registry.CurrentUser;
                RegistryKey softWare = rk.OpenSubKey("Software");
                RegistryKey microsoft = softWare.OpenSubKey("Microsoft");
                RegistryKey windows = microsoft.OpenSubKey("Windows");
                RegistryKey current = windows.OpenSubKey("CurrentVersion");
                RegistryKey explorer = current.OpenSubKey("Explorer");
                RegistryKey shell = explorer.OpenSubKey(@"Shell Folders",true);
                RegistryKey swort = shell.OpenSubKey("swort",true);//这里必须加true就是得到写入权限
                swort.DeleteValue("swort");//删除swort的值   这个连键值一起删除了 剩下一个
                shell.DeleteSubKey("swort",false);//删除swort这个目录   要删除这个目录 必须具有权限
               
                Response.Write("删除成功!!!!!!!!!");
                return true;
            }
            catch
            {
                return false;

            }
            return true;

        }
        /// <summary>
        /// 查询某个键值是否存在
        /// </summary>
        /// <returns></returns>
        public bool ExistsRegedit()
        {
            RegistryKey rk = Registry.CurrentUser;
            RegistryKey softWare = rk.OpenSubKey("Software");
            RegistryKey microsoft = softWare.OpenSubKey("Microsoft");
            RegistryKey windows = microsoft.OpenSubKey("Windows");
            RegistryKey current = windows.OpenSubKey("CurrentVersion");
            RegistryKey explorer = current.OpenSubKey("Explorer");
            RegistryKey shell = explorer.OpenSubKey(@"Shell Folders");
            if (shell.SubKeyCount != 0)
            {
                RegistryKey swort = shell.OpenSubKey("swort");
                foreach (string b in swort.GetValueNames())
                {

                    if (b == "swort")
                    {
                        Response.Write("存在这个键!");
                        return true;
                    }


                }
                Response.Write("不存在这个键!");
                return false;
            }
            else

            { Response.Write("不存在这个键!");
            return false;
            }

        }
    }

    -

    资料引用:http://www.knowsky.com/441136.html

  • 相关阅读:
    Windows性能计数器应用
    Azure Oracle Linux VNC 配置
    Azure 配置管理系列 Oracle Linux (PART6)
    Azure 配置管理系列 Oracle Linux (PART5)
    Azure 配置管理系列 Oracle Linux (PART4)
    Azure 配置管理系列 Oracle Linux (PART3)
    Azure 配置管理系列 Oracle Linux (PART2)
    vagrant多节点配置
    docker基本操作
    LINUX开启允许对外访问的网络端口命令
  • 原文地址:https://www.cnblogs.com/LiaoHao/p/3145482.html
Copyright © 2020-2023  润新知