- In Visual Studio Add "RegisterClass.cs" in Solution Explorer.
- Add
using m4.RegisterClass;
and
RegClass Reg = new RegClass();
that all.
Reg.WriteString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Name", "Odyn");
(string, string, string, string)
Reg.WriteDWord("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number32", 2);
(string, string, string, int)
Reg.WriteQWord("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number64", 2);
(string, string, string, long)
Reg.WriteExString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Location", "c:\\Program Files\\My program");
(string, string, string, string)
Reg.WriteMultiString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Setting", new string[]{"bold", "52", "close"} );
(string, string, string, string[])
Reg.WriteBin("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Some data", new byte[] {10,10,10});
(string, string, string, byte[])
Please note that the last value is default value.
MessageBox.Show("Version Name: " + Reg.ReadString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Name", null));
MessageBox.Show("Version Name: " + Reg.ReadString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Location", null));
MessageBox.Show("Version Number32: " + Reg.ReadInt("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number32", 0));
MessageBox.Show("Version Number64: " + Reg.ReadInt64("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number64", 0));
string[] Value = Reg.ReadMultiString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Setting", null);
string Message = "";
foreach (string value in Value)
{
Message = Message + value + " ";
}
MessageBox.Show("Setting: " + Message);
byte[] ValueByte = Reg.ReadBinary("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Some data", null);
string Suma = "";
foreach (byte value in ValueByte)
{
Suma = Suma + value;
}
MessageBox.Show("Some data: " + Suma);
How to remove all the values that we created earlier
Reg.DeleteValue("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Name");
Reg.DeleteValue("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number32");
Reg.DeleteValue("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number64");
Reg.DeleteValue("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Location");
Reg.DeleteValue("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Setting");
Reg.DeleteValue("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Some data");
And the whole key
Reg.DeleteKey("HKEY_CURRENT_USER", "SOFTWARE\\My Program");
If you want to display errors simply turn on ViewError
:
Reg.ViewError = true;
You can specify name for the window with error by changing ViewErrorTitle
Reg.ViewErrorTitle = "Register Operation Error";
This might be helpful in debug. You can change the window name for every operation.
Reg.ViewErrorTitle = "Write String Operation Error";
Reg.WriteString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Name", "Odyn");
Reg.ViewErrorTitle = "Write DWord Operation Error";
Reg.WriteDWord("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number32", 2);
You can add you own error messages based on GetError
status. true
= error, false
= no error (default).
Reg.WriteString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Name", "Odyn");
if (Reg.GetError)
{
//Error appeared do what you want
}
Thank to Francesco Natali, I'm inspired by his works.
http://www.codeproject.com/Articles/3389/Read-write-and-delete-from-registry-with-C