• 注册表(C#)


       Windowa注册表是包含Windows安装,用户喜好以及以安装软件和设备的所有配置信息的核心储存库。COM组件必须把它的信息出存在注册表中,才能被客户程序使用。注册表也包含了一些系统配置的信息,这些信息根据操作系统的不同而不同。注册表中的所有信息都是分类保存的,“主键”是各个大的信息分类名称,注册表中的所有信息均被分类存放在相应的主键中。一般包括5个主键:HKEY_CLASSES_ROOT(保存在系统中注册的各类文件的控制名以及文件关联等信息),HKEY_CURRENT_USER(保存登陆到系统的当前用户的计算机的环境变量,桌面设置,应用程序设置,个人程序设置,网络连接等信息),HKEY_LOCAL_MACHINE(保存计算机的硬件,软件及操作系统的配置信息),HKEY_USERS(保存计算机所有用户的配置信息),HKEY_CURRENT_CONFIG(存放计算机当前的硬件配置信息,此主键实际上是HKEY_LOCAL_MACHINE中的一部分)。

     

    操作注册表之前要导入命名空间:using Microsoft.Win32

    Registry类是其中的一个常用类,有7个字段:ClassRoot、CurrentConfig、CurrentUser、DynData、LacalMachine、Performanceata、Users

    Registry类是通过静态的只读字段来提供RegistryKey实例的

    如:RegistryKey rk=Registry.LacalMachine;

     

    1.)用OpenSubKey方法打开注册表

    private void Form1_Load(object sender, EventArgs e)
    {
        this.Box.Items.Clear();
        //创建RegistryKey实例
        RegistryKey rk = Registry.CurrentUser;
        //使用OpenSubKey方法打开HKEY_CURRENT_USERSoftware项下的所有子项
        RegistryKey a = rk.OpenSubKey(@"Software");
        foreach(string str in a.GetSubKeyNames())
        {
            this.Box.Items.Add("子项名:" + str);
            RegistryKey b = a.OpenSubKey(str);
            foreach(string c in b.GetValueNames())
            {
                this.Box.Items.Add(c + b.GetValue(c));
            }
        }
    }

    2.)创建及修改注册表信息

    //创建RegistryKey实例
    RegistryKey rk = Registry.CurrentUser;
    //使用OpenSubKey方法打开HKEY_CURRENT_USERSoftware项
    RegistryKey a = rk.OpenSubKey("Software", true);
    RegistryKey b = a.CreateSubKey("111");
    b.SetValue("1", "2");
    //修改注册表
    b.SetValue("1", "3");

    通常情况下,只允许在本机修改注册表,而不允许远程修改注册表

    3.)删除注册表中信息

    (1)DeleteSubKey方法:删除不包含任何子项的子项

    (2)DeleteSubKeyTree方法:彻底删除指定的子项目录,包括该子项以及其以下的全部子项(谨慎使用)

    (3)DeleteValue方法:删除指定的键值对

  • 相关阅读:
    C语言I作业12—学期总结
    # 第一周作业
    C语言Ⅰ博客作业11
    C语言Ⅰ博客作业10
    C语言Ⅰ博客作业09
    C语言Ⅰ博客作业08
    C语言||作业01
    C语言寒假大作战04
    C语言寒假大作战03
    C语言寒假大作战02
  • 原文地址:https://www.cnblogs.com/czx1/p/czx.html
Copyright © 2020-2023  润新知