zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    子序列自动机
    poj 暴力水题
    小白贪心题
    组合数+费马大/小定理
    随机数法
    vector的二维用法+前缀和
    巨思维题
    思维水题
    Codeforces Round #323 (Div. 2) D.Once Again... (nlogn LIS)
    Codeforces Round #325 (Div. 2) D. Phillip and Trains (BFS)
  • 原文地址:https://www.cnblogs.com/LiaoHao/p/3145482.html
Copyright © 2011-2022 走看看