Skip to content
This repository has been archived by the owner on Sep 9, 2019. It is now read-only.

m4rcelpl/Register_Class_CSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Register Class CSharp

How to use it

using m4.RegisterClass;

and

RegClass Reg = new RegClass();

that all.

Examples

Wite

Wite String (REG_SZ)
Reg.WriteString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Name", "Odyn");

(string, string, string, string)

Wite Int32 (REG_DWORD)
Reg.WriteDWord("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number32", 2);

(string, string, string, int)

Wite Int64 (REG_QWORD)
Reg.WriteQWord("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number64", 2);

(string, string, string, long)

Wite Extendet String (REG_EXPAND_SZ)
Reg.WriteExString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Location", "c:\\Program Files\\My program");

(string, string, string, string)

Wite Multi String (REG_MULTI_SZ)
Reg.WriteMultiString("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Setting",  new string[]{"bold", "52", "close"} );

(string, string, string, string[])

Wite Binary (REG_BINARY)
Reg.WriteBin("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Some data", new byte[] {10,10,10});

(string, string, string, byte[])

Read

Please note that the last value is default value.

Read String (REG_SZ) and Extendet String (REG_EXPAND_SZ)
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));
Read Int32 (REG_DWORD)
MessageBox.Show("Version Number32: " + Reg.ReadInt("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number32", 0));
Read Int64 (REG_QWORD)
MessageBox.Show("Version Number64: " + Reg.ReadInt64("HKEY_CURRENT_USER", "SOFTWARE\\My Program", "Version Number64", 0));
Read Multi String (REG_MULTI_SZ)
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);
Read Binary (REG_BINARY)
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);

Delete

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");

Error Handling

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
}

Thenks

Thank to Francesco Natali, I'm inspired by his works.

http://www.codeproject.com/Articles/3389/Read-write-and-delete-from-registry-with-C

About

Simple but powerful Register Class for C#

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages