zoukankan      html  css  js  c++  java
  • C#注册表的读,写,删除,查找

    首先分享一下写入,这个最常用的

    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; 
            } 
     
    接下来是给出一个操作网页的cs文件,大家看着调用就行
    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;
            }
        }
    }
  • 相关阅读:
    我的第一个Python爬虫——谈心得
    python写第一个网页
    科学计算和可视化
    类和正则表达(自动更正,和代数运算)
    图片处理
    jieba
    汉诺塔问题
    Python核心编程(第二版)第十章习题答案
    python官方文档之open()函数的翻译
    python打开文件时提示“File was loaded in the wrong encoding:’UTF-8”根因调查
  • 原文地址:https://www.cnblogs.com/lzgeveryday/p/4315869.html
Copyright © 2011-2022 走看看