01
—
创建注册表信息
通过 RegistryKey 类的 CreateSubKey 方法和 SetValue 方法可以创建注册表信息,下面介绍这两种方法。
(1)CreateSubKey 方法主要用于创建一个新子项或打开一个现有子项以进行写访问。
语法如下:
public RegistryKey CreateSubkey(string subkey)
subkey:要创建或打开的子项的名称或路径。
返回值:RegistryKey 对象,表示新建的子项或空引用。如果为 subkey 指定了零长度字符串,则返回当前的 RegistryKey 对象。
(2)SetValue 方法主要用于设置注册表项中的名称/值对的值。
语法如下:
public void SetValue(string name,Object value)
name::要存储的值的名称。
value:要存储的数据。
说明
SetValue 方法用于从非托管代码中访问托管类,不应从托管代码调用。
下面通过实例演示如何通过 RegistryKey 类的 CreateSubKey 方法和 SetValue 方法创建一个子键。
【例 1】创建一个 Windows 应用程序,在主键 HKEY_LOCAL_MACHINE 的 HARDWARE键下创建一个名为 LS 的子键,然后在这个子键下再创建一个名为 SHJ的子键,接着在 SHJ 子键下创建一个名为 value、数据值是1234的键值。
代码如下:
//添加 using Microsoft.Win32;命名空间private void button1_Click(object sender,EventArgs e){try{//创建 RegistryKey 实例RegistryKey hkIm = Registry.LocalMachine;//使用 OpenSubKey 方法打开 HKEY_LOCAL_MACHINE\HARDWARE 键RegistryKey software =hkIm.OpenSubKey("HARDWARE",true);//使用 CreateSubKey 方法创建名为 LS 的子键RegistryKey main1 = software.CreateSubKey("LS");//使用 CreateSubkey 方法在LS 键下创建一个名为 SHJ 的子键RegistryKey ddd = main1.CreateSubKey("SHJ");//在子键 SHJ 下建立一个名为 value 的键值,数据值为 1234ddd.SetValue("value","1234");MessageBox.Show("创建成功");}catch(Exceptlon ex){MessageBox.Show(ex.Message);}}

图1 创建子键
02
—
修改注册表信息
//添加 using Microsof.Win32;命名空间private void button1_Click(object sender,EventArgs e){try{//创建 RegistryKey 实例RegistryKey hkIm = Registry.LocalMachine;//使用 OpenSubKey 方法打开 HKEY_LOCAL_MACHINE\HARDWARE 键RegistryKey software = hkIm.OpenSubKey("HARDWARE",true);//使用 OpenSubKey 方法打开 LS 键RegistryKey dddw = software.OpenSubKey("LS",true);//使用 OpenSubKey 方法打开 LS 键下的 SHJ 子键RegistryKey regkey = dddw.OpenSubKey("SHJ",true);//使用 SetValue 方法修改指定的键值regkey.SetValue("value","abcd");MessageBox.Show("修改成功:);}catch(Exception ex){MessageBox.Show(ex.Message);}}
程序运行前后对比如图 2 和图 3 所示。
图2 修改注册表信息之前 图3 修改注册表信息之后
- END -
关注小编不迷路呦~




