Visual C#创建和修改注册信息要调用的二个方法:
(1).CreateSubKey ( String key )方法:此方法是创建以后面的字符串为名称的子键。当然这种方法不仅能够创建子键,在下面介绍的程序中,也通过此种方法来创建一个主键。
(2).SetValue ( String name , String keyvalue )方法:此方法的作用有二点,一种可以用来重命名键值的数值,一种可以用来创建新的键值。具体情况如下:当打开的子键中,如果存在此键值,就把新值赋给他,实现重命名操作。如果不存在,则创建一个新的键值。
注:注意加命名空间:using Microsoft.Win32;
实例:
(1).如何创建一个子键,在程序中是结合CreateSubKey ( )方法和SetValue ( )方法来实现的,以下是程序中创建子键的源程序:
listBox1.Items.Clear ( ) ; RegistryKey hklm = Registry.LocalMachine ; RegistryKey software = hklm.OpenSubKey ( "HARDWARE" , true ) ; RegistryKey main1 = software.CreateSubKey ( "main" ) ; RegistryKey ddd = main1.CreateSubKey ( "sub" ) ; ddd.SetValue ( "value" , "1234" ); |
(2).如何创建一个主键,创建一个主键和创建一个子键的过程大致是差不多的。由于主键包含若干子键,所以在创建主键的时候必须注意他们的层次关系。下面这一段程序,在参考的时候,请注意一下main键和sub键之间的关系。
listBox1.Items.Clear ( ) ; RegistryKey hklm = Registry.LocalMachine ; RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ; RegistryKey main1 = software.CreateSubKey ( "main" ) ; RegistryKey ddd = main1.CreateSubKey ( "sub" ) ; ddd.SetValue ( "value" , "1234" ) ; |
(3).如何修改注册信息。由于注册表中的信息十分重要,所以一般不要对其进行写的操作。也可能是这个原因,在.Net
FrameWork SDK 中并没有提供修改注册表键的方法。而只是提供了一个危害性相对较小的方法--SetValue ( ),通过这个方法,我们可以来修改键值。下面程序代码是修改一个指定键值名称的键值。当然由于SetValue( )方法的特性,如果它检测到这个键值不存在,就会创建一个新的键值。
listBox1.Items.Clear ( ) ; RegistryKey hklm = Registry.LocalMachine ; RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ; RegistryKey dddw = software.OpenSubKey ( "aaa" , true ) ; dddw.SetValue ( "bbb" , "abcd" ) ; |