zoukankan      html  css  js  c++  java
  • C#简单注册表操作实例

    1.简介操作

            //设置注册值
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                //路径及间隔符号要正确
                //1.如果指定路径不存在,则创建
                //2.如果指定键存在,则覆盖值
                string path = "HKEY_CURRENT_USER\myRegOne";
                Registry.SetValue(path, "Expend", "hellow world!");
    
                MessageBox.Show("设置成功");
            }
            //获取指定路径的键对应的值
            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                //如果不存在则报错
                //1.如果指定路径不存在,获取的结果为null
                string path = "HKEY_CURRENT_USER\myRegOne";
                object result = Registry.GetValue(path, "Version", 1.0);
    
                lblOne.Content = result.ToString();
            }

    2.项操作:

           //创建项
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                RegistryKey lm = Registry.CurrentUser;
                //打开myRegOne
                RegistryKey myRegOne = lm.OpenSubKey("myRegOne", true);//指定是否具有写权限
    
                if (myRegOne != null)
                {
                    //新建子项,如果存在则覆盖
                    RegistryKey mySubKey = myRegOne.CreateSubKey("mySubKey_Three", RegistryKeyPermissionCheck.ReadWriteSubTree);
                    MessageBox.Show("创建成功!");
                }
                else
                {
                    myRegOne = lm.CreateSubKey("myRegOne", RegistryKeyPermissionCheck.ReadWriteSubTree);
                }
                myRegOne.Close();
            }
    
            //打开项
            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                RegistryKey lm = Registry.CurrentUser;
                //打开
                RegistryKey myRegOne = lm.OpenSubKey("myRegOne");
    
                //获取所有的项
                string[] subKeyNames = myRegOne.GetSubKeyNames();
                listSubKey.Items.Clear();
                foreach (var item in subKeyNames)
                {
                    listSubKey.Items.Add(item);
                }
    
    
                //获取所有的键值
                string[] valueNames = myRegOne.GetValueNames();
                listNameValue.Items.Clear();
                foreach (var item in valueNames)
                {
                    listNameValue.Items.Add(item + "---" + myRegOne.GetValue(item, "没有设置值"));
                }
    
                myRegOne.Close();
            }
    
    
            //删除项
            private void Button_Click_2(object sender, RoutedEventArgs e)
            {
                RegistryKey cu = Registry.CurrentUser;
                RegistryKey myRegOne = cu.OpenSubKey("myRegOne", true);//指定是否具有写权限
    
                //删除,指定如果操作失败时是否抛出异常
                myRegOne.DeleteSubKey("mySubKey_Three", false);
                myRegOne.Close();
                MessageBox.Show("删除成功!");
            }
    
            //判断项是否存在
            private void Button_Click_3(object sender, RoutedEventArgs e)
            {
                RegistryKey cu = Registry.CurrentUser;
                //打开项
                RegistryKey myRegOne = cu.OpenSubKey("myRegOne");
                if (myRegOne != null)
                {
                    MessageBox.Show("指定项'myRegOne'存在!");
                }
            }

    3.值操作:

            //设置或新建值
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                RegistryKey cu = Registry.CurrentUser;
                //打开项,指定写权限
                RegistryKey myRegOne = cu.OpenSubKey("myRegOne", true);
                if (myRegOne != null)
                {
                    //创建项,如果存在则覆盖
                    myRegOne.SetValue("Version", "1.23");
                    myRegOne.SetValue("Enable", 1, RegistryValueKind.DWord);
                    myRegOne.SetValue("Expend", "hello world!", RegistryValueKind.ExpandString);
                    MessageBox.Show("设置值成功");
                }
                cu.Close();
            }
    
            //读取值
            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                RegistryKey cu = Registry.CurrentUser;
                //打开项
                RegistryKey myRegOne = cu.OpenSubKey("myRegOne", true);
                if (myRegOne != null)
                {
                    string[] names = myRegOne.GetValueNames();
                    listOne.Items.Clear();
                    foreach (var item in names)
                    {
                        listOne.Items.Add(item + "----" + myRegOne.GetValue(item));
                    }
                }
                cu.Close();
            }
    
            //删除值
            private void Button_Click_2(object sender, RoutedEventArgs e)
            {
                RegistryKey cu = Registry.CurrentUser;
                //打开项,指定写权限
                RegistryKey myRegOne = cu.OpenSubKey("myRegOne", true);
                if (myRegOne != null)
                {
                    myRegOne.DeleteValue("Expend");
                    MessageBox.Show("删除成功!");
                }
                cu.Close();
            }
            //判断值是否存在
            private void Button_Click_3(object sender, RoutedEventArgs e)
            {
                RegistryKey cu = Registry.CurrentUser;
                //打开项
                RegistryKey myRegOne = cu.OpenSubKey("myRegOne");
                if (myRegOne != null)
                {
                    if (myRegOne.GetValue("Expend") != null)
                    {
                        MessageBox.Show("该值存在");
                    }
                }
            }
  • 相关阅读:
    ZJOI 2014 星系调查(推导)
    APIO 2014 回文串(Manacher+后缀自动机+倍增)
    HDU 3948 The Number of Palindromes(Manacher+后缀数组)
    BalkanOI 2018 Parentrises(贪心+DP)
    POJ 3693 Maximum repetition substring(后缀数组+ST表)
    HDU 5769 Substring(后缀数组)
    POJ 1743 Musical Theme(后缀数组+二分答案)
    POJ 3261 Milk Patterns(后缀数组+二分答案)
    THUSCH 2017 大魔法师(矩阵乘法+线段树)
    BZOJ 2759 一个动态树好题(动态树)
  • 原文地址:https://www.cnblogs.com/tianma3798/p/3709346.html
Copyright © 2011-2022 走看看