LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#读写Windows操作系统注册表

admin
2024年5月17日 15:44 本文热度 273

摘要

注册表(Registry,繁体中文版Windows操作系统称之为登录档案)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用。

正文


命令行,输入regedit

Registry类,RegistryKey类提供了操作注册表的接口

注册表主键

  • Registry.ClassesRoot:对应于HKEY_CLASSES_ROOT主键

  • Registry.CurrentUser:对应于HKEY_CURRENT_USER主键

  • Registry.LocalMachine:对应于 HKEY_LOCAL_MACHINE主键

  • Registry.User:对应于 HKEY_USER主键

  • Registry.CurrentConfig:对应于HEKY_CURRENT_CONFIG主键

  • Registry.DynDa :对应于HKEY_DYN_DATA主键

  • Registry.PerformanceData:对应于HKEY_PERFORMANCE_DATA主键


RegistryKey类

RegistryKey类封装了对注册表的基本操作。包括读、写、删等操作的常用函数:

  • Name:键的名称(只读)

  • SubKeyCount:键的子键个数

  • ValueCount:键包含的值的个数

  • Close():关闭键

  • CreateSubKey():创建给定名称的子键

  • DeleteSubKey():删除指定的子键

  • DeleteSubKeyTree():递归删除子键及其所有的子键

  • DeleteValue():从键中删除一个指定的值

  • GetAccessControl():返回指定注册表键的访问控制表

  • GetSubKeyNames():返回包含子键名称的字符串数组

  • GetValue():返回指定的值

  • GetValueKind();返回指定的值,检索其注册表数据类型

  • GetValueNames():返回一个包含所有键值名称的字符串数组

  • OpenSubKey():返回表示给定子键的RegistryKey实例引用

  • SetAccessControl():把访问控制表(ACL)应用于指定的注册表键

  • SetValue();设置指定的值


创建一个Key

private void btnCreateSubKey_Click(object sender, EventArgs e){    //使用CreateSubKey()在SOFTWARE下创建子项IDIOSOFT    RegistryKey hklm = Registry.LocalMachine;//HKEY_LOCAL_MACHINE    RegistryKey hkSoftWare = hklm.CreateSubKey(@"SOFTWARE\IDIOSOFT");    hklm.Close();    hkSoftWare.Close();}


创建键值

private void btnCreateInfo_Click(object sender, EventArgs e){    //主要用到了SetValue(),表示在IDIOSOFT下创建名称为Name与No    RegistryKey hklm = Registry.LocalMachine;    //打开现有SubKey节点    RegistryKey key = hklm.OpenSubKey(@"SOFTWARE\IDIOSOFT", true);    key.SetValue("Name", "admin", RegistryValueKind.String);    key.SetValue("No", "10001", RegistryValueKind.String);    hklm.Close();    key.Close();}


取得Value

private void btnReadInfo_Click(object sender, EventArgs e){    //主要用到了GetValue(),获得名称为"Name","No"的键值    RegistryKey hklm = Registry.LocalMachine;    RegistryKey hkSoftWare = hklm.OpenSubKey(@"SOFTWARE\IDIOSOFT", true);    string Name = hkSoftWare.GetValue("Name").ToString();    string No = hkSoftWare.GetValue("No").ToString();    hklm.Close();    hkSoftWare.Close();}


删除一个键值

private void btnGetValue_Click_1(object sender, EventArgs e){    //主要用到了DeleteValue()    //,表示删除名称为"Name"的键值,第二个参数表示是否抛出异常    RegistryKey hklm = Registry.LocalMachine;    RegistryKey key = hklm.OpenSubKey(@"SOFTWARE\IDIOSOFT", true);    key.DeleteValue("Name", true);    hklm.Close();    key.Close();}


删除一个键

private void btnDeleteKey_Click(object sender, EventArgs e){    //主要用到了DeleteSubKey(),删除IDIOSOFT项    RegistryKey hklm = Registry.LocalMachine;    //为true时,删除的注册表不存在时抛出异常;当为false时不抛出异常。    hklm.DeleteSubKey(@"SOFTWARE\IDIOSOFT", true);    hklm.Close();}


该文章在 2024/5/17 15:44:15 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved