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;
            }
        }
    }
  • 相关阅读:
    解决HttpServletResponse输出的中文乱码问题
    Java微信公众平台开发(四)--回复消息的分类及实体的创建
    Java微信公众平台开发(三)--接收消息的分类及实体的创建
    Java微信公众平台开发(二)--微信服务器post消息体的接收
    Java微信公众平台开发(一)--接入微信公众平台
    ****创业者必看:黄太吉商业计划书完整版
    php变量的几种写法
    **对比$_POST、$GLOBALS['HTTP_RAW_POST_DATA']和file_get_contents('php://input')
    CodeIgniter报错: You must use the "set" method to update an entry
    2016年最新苹果开发者账号注册申请流程最强详解!
  • 原文地址:https://www.cnblogs.com/lzgeveryday/p/4315869.html
Copyright © 2011-2022 走看看