Some time we need to make our application as startup application or we need to configure our application with registry setting on this case we need to play with registry and have to Read, Write and delete the registry entry,
Before doing the code you need to import the three references:
using Microsoft.Win32;
using System.Text;
using System.Windows.Forms;
Adding the Key into registry in C#;
///
/// ("UtilityApp", "C:\Program Files\WordWeb\Utility.exe -startup")
///
public bool Write(string KeyName, object Value)
{
try
{
// Setting
RegistryKey rk = baseRegistryKey;
// 'OpenSubKey open a subKey as read-only
RegistryKey sk1 = rk.CreateSubKey(subKey);
sk1.SetValue(KeyName.ToUpper(), Value); // Setting the value
return true;
}
catch (Exception e)
{
return false; //If any error finds
}
}
Deleting the Key from registry in C#;
///
/// Deleting the key from registry
///
///
///
public bool DeleteKey(string KeyName)
{
try
{
// Setting
RegistryKey rk = baseRegistryKey;
RegistryKey sk1 = rk.CreateSubKey(subKey);
if (sk1 == null)
return true;
else
sk1.DeleteValue(KeyName);
return true;
}
catch (Exception e)
{
return false;
}
}
Reading registry key in C#;
public string Read(string KeyName)
{
RegistryKey rk = baseRegistryKey;// Opening the registry key
RegistryKey sk1 = rk.OpenSubKey(subKey); // Open a subKey as read-only
// If the RegistrySubKey doesn't exist
if (sk1 == null)
{
return null;
}
else
{
try
{
return (string)sk1.GetValue(KeyName.ToUpper()); // If the RegistryKey exists I get its value
}
catch (Exception e)
{
return null;
}
}
}
@Full code for read, write and delete the registry key in c#
namespace SystemTrayApp.Classes
{
class ReadWritetoRegistry
{
private string subKey = "Software\\Microsoft\\Windows\\CurrentVersion\\Run\\" ; //+ Application.ProductName.ToUpper();
public string SubKey
{
get { return subKey; }
set { subKey = value; }
}
private RegistryKey baseRegistryKey = Registry.CurrentUser;
public string Read(string KeyName)
{
RegistryKey rk = baseRegistryKey;// Opening the registry key
RegistryKey sk1 = rk.OpenSubKey(subKey); // Open a subKey as read-only
// If the RegistrySubKey doesn't exist
if (sk1 == null)
{
return null;
}
else
{
try
{
return (string)sk1.GetValue(KeyName.ToUpper()); // If the RegistryKey exists I get its value
}
catch (Exception e)
{
return null;
}
}
}
///
///
///
///
/// ("UtilityApp", "C:\Program Files\WordWeb\Utility.exe -startup")
///
public bool Write(string KeyName, object Value)
{
try
{
// Setting
RegistryKey rk = baseRegistryKey;
// 'OpenSubKey open a subKey as read-only
RegistryKey sk1 = rk.CreateSubKey(subKey);
sk1.SetValue(KeyName.ToUpper(), Value); // Setting the value
return true;
}
catch (Exception e)
{
return false; //If any error finds
}
}
///
/// Deleting the key from registry
///
///
///
public bool DeleteKey(string KeyName)
{
try
{
// Setting
RegistryKey rk = baseRegistryKey;
RegistryKey sk1 = rk.CreateSubKey(subKey);
if (sk1 == null)
return true;
else
sk1.DeleteValue(KeyName);
return true;
}
catch (Exception e)
{
return false;
}
}
public int SubKeyCount()
{
try
{
// Setting
RegistryKey rk = baseRegistryKey;
RegistryKey sk1 = rk.OpenSubKey(subKey);
// If the RegistryKey exists...
if (sk1 != null)
return sk1.SubKeyCount;
else
return 0;
}
catch (Exception e)
{
return 0;
}
}
}
}
@How to call it to write the registry;
It detect and run time bind the exe file
ReadWritetoRegistry objReg = new ReadWritetoRegistry();
objReg.DeleteKey("UtilityApp");
objReg.Write("UtilityApp", path.Replace("file:\\","") + "\\desktoputility.exe -startup");
@How output will display for registry;
No comments:
Post a Comment