WXg̑샌WXglǂݍށAWXgɒlށA
WXg̃L[ATuL[폜Ȃǂ̕@Љ܂B
WXg̑SʂRegistryKeyNXgčsƂł܂B

܂͂߂ɃWXgɏޗ܂B
RegistryKey.CreateSubKey\bhŃTuL[JARegistryKey.SetValue\bhŏ݂܂B

[VB.NET]
'WXgւ̏
'iuHKEY_CURRENT_USER\Software\test\subkeyvɏށj
'TuL[J
Dim regkey As Microsoft.Win32.RegistryKey = _
    Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\test\subkey")
'̃R[hł͎w肵TuL[݂ȂƂ͐V쐬B
'쐬Ȃ悤ɂɂ͎̂悤ɂB
'Dim regkey As Microsoft.Win32.RegistryKey = _
'   Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\test\subkey", True)

'WXgւ̏
'ށiREG_SZŏ܂j
regkey.SetValue("key", "KeyValue")
'ށiREG_DWORDŏ܂j
regkey.SetValue("int", 100)
'zށiREG_MULTI_SZŏ܂j
Dim s As String() = {"1", "2", "3"}
regkey.SetValue("StringArray", s)
'oCgzށiREG_BINARYŏ܂j
Dim bs As Byte() = {0, 1, 2}
regkey.SetValue("Bytes", bs)

'
regkey.Close()

[C#]
//WXgւ̏
//iuHKEY_CURRENT_USER\Software\test\subkeyvɏށj
//TuL[J
Microsoft.Win32.RegistryKey regkey =
    Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\test\subkey");
//̃R[hł͎w肵TuL[݂ȂƂ͐V쐬B
//쐬Ȃ悤ɂɂ͎̂悤ɂB
//Microsoft.Win32.RegistryKey regkey =
//    Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\test\subkey", true);

//WXgւ̏
//ށiREG_SZŏ܂j
regkey.SetValue("key", "KeyValue");
//ށiREG_DWORDŏ܂j
regkey.SetValue("int", 100);
//zށiREG_MULTI_SZŏ܂j
string[] s = new string[] {"1", "2", "3"};
regkey.SetValue("StringArray", s);
//oCgzށiREG_BINARYŏ܂j
byte[] bs = new byte[] {0, 1, 2};
regkey.SetValue("Bytes", bs);

//
regkey.Close();

WXgGfB^ŌƁA"HKEY_CURRENT_USER\Software\test\subkey"Ɏ̂悤ɏ܂܂B

==================================================================================================

ɃWXglǂݍޗ܂B
RegistryKey.OpenSubKey\bhŃTuL[JARegistryKey.GetValue\bhœǂݍ݂܂B
̗ł͎w肳ꂽL[ȉɂ邷ׂẴTuL[ƁAL[̒l擾@܂B

[VB.NET]
'WXg̓ǂݎ
'(HKEY_CURRENT_USER\Software\test\subkey\key̒l擾)
'TuL[ǂݎpŊJ
Dim regkey As Microsoft.Win32.RegistryKey = _
    Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\test\subkey", False)
'TuL[݂ȂƂNothingԂ
If (regkey Is Nothing) Then Return

'ǂݍ
Dim stringValue As String = regkey.GetValue("key")
'ǂݍރL[݂ȂƂNothingԂ
'L[݂ȂƂɎw肵lԂ悤ɂɂ͎̂悤ɂ
'ił"default"Ԃj
'Dim stringValue As String = regkey.GetValue("key", "default")

'ǂݍ
Dim intValue As Integer = regkey.GetValue("int")
'zǂݍ
Dim strings As String() = regkey.GetValue("StringArray")
'oCgzǂݍ
Dim bytes As Byte() = regkey.GetValue("Bytes")

'subkeyȉɂTuL[̐\
Console.WriteLine("TuL[̐:{0}", regkey.SubKeyCount)
'subkeyȉׂ̂ẴTuL[擾
Dim keyNames() As String = regkey.GetSubKeyNames() 
'\
Dim k As String
For Each k In keyNames
    Console.WriteLine(k)
Next

'subkeyȉɂL[̒l̐\
Console.WriteLine("L[̒l̐:{0}", regkey.ValueCount)
'HKEY_CURRENT_USER\Software\test\subkeyȉׂ̂ẴL[擾
Dim valueNames() As String = regkey.GetValueNames() 
'\
Dim v As String
For Each v In valueNames
    Console.WriteLine(v)
Next

'
regkey.Close()

[C#]
//WXg̓ǂݎ
//(HKEY_CURRENT_USER\Software\test\subkey\key̒l擾)
//TuL[ǂݎpŊJ
Microsoft.Win32.RegistryKey regkey =
    Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\test\subkey", false);
//TuL[݂ȂƂ null Ԃ
if (regkey == null) return;

//ǂݍ
string stringValue = (string) regkey.GetValue("key");
//ǂݍރL[݂ȂƂ null Ԃ
//L[݂ȂƂɎw肵lԂ悤ɂɂ͎̂悤ɂ
//ił"default"Ԃj
//string stringValue = regkey.GetValue("key", "default");

//ǂݍ
int intValue = (int) regkey.GetValue("int");
//zǂݍ
string[] strings = (string[]) regkey.GetValue("StringArray");
//oCgzǂݍ
byte[] bytes = (byte[]) regkey.GetValue("Bytes");

//subkeyȉɂTuL[̐\
Console.WriteLine("TuL[̐:{0}", regkey.SubKeyCount);
//subkeyȉׂ̂ẴTuL[擾
string[] keyNames = regkey.GetSubKeyNames();
//\
foreach (string k in keyNames)
    Console.WriteLine(k);

//subkeyȉɂL[̒l̐\
Console.WriteLine("L[̒l̐:{0}", regkey.ValueCount);
//HKEY_CURRENT_USER\Software\test\subkeyȉׂ̂ẴL[擾
string[] valueNames = regkey.GetValueNames();
//\
foreach (string v in valueNames)
    Console.WriteLine(v);

//
regkey.Close();

==================================================================================================

ŌɃWXg폜łB
RegistryKey.OpenSubKey\bhŃTuL[JARegistryKey.DeleteValue\bhō폜܂B
TuL[̍폜DeleteSubKey܂DeleteSubKey\bhōs܂B

[VB.NET]
'WXg̍폜
'TuL[݋ŊJ
Microsoft.Win32.RegisTryKey regkey =
    Microsoft.Win32.RegisTry.CurrentUser.OpenSubKey("Software\test\subkey", True)
 
'L[̍폜
regkey.DeleteValue("key")
'̂悤ɂƎw肵L[ȂĂG[oȂ
'regkey.DeleteValue("key", False)
 
'TuL[폜iqTuL[ƃG[ɂȂj
regkey.DeleteSubKey("subkey")
'̂悤ɂƎw肵TuL[ȂĂG[oȂ
'regkey.DeleteSubKey("subkey", False)
 
'TuL[Ƃ̃c[폜
regkey.DeleteSubKeyTree("subkey")
 
'
regkey.Close()

[C#]
//WXg̍폜
//TuL[݋ŊJ
Microsoft.Win32.RegistryKey regkey =
    Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\test\subkey", true);

//L[̍폜
regkey.DeleteValue("key");
//̂悤ɂƎw肵L[ȂĂG[oȂ
//regkey.DeleteValue("key", false);

//TuL[폜iqTuL[ƃG[ɂȂj
regkey.DeleteSubKey("subkey", false);
//̂悤ɂƎw肵TuL[ȂĂG[oȂ
//regkey.DeleteSubKey("subkey", false);

//TuL[Ƃ̃c[폜
regkey.DeleteSubKeyTree("subkey");

//
regkey.Close();

@
WXg̃TuL[J߂CreateSubKeygAOpenSubKeygƂłA
OpenSubKey͎ŵȂǂݎpŊJ߁AWXgɏނƂCreateSubKeyŊJA
ǂݎƂOpenSubKeyŊJƂ̂{ƂȂ肻łB