Things You'll Need:
- Microsoft Visual C# 2008 Express (free)
-
Step 1
WARNING: You can seriously mess up your computer by altering the registry. Make a backup of the registry prior to altering it in any way. You have been warned!
First we need to examine the location in the registry where we will be writing our data. Click on Start and then Run. Type in regedit and click OK. -
Step 2
Navigate to HKEY_CURRENT_USER\Environment and examine the contents. This is where will will write our data. Keep this program open because we will return here after we run our program.
-
Step 3
Note: This article assumes you have installed Microsoft Visual C# 2008 Express Edition. You may download it for free from here: http://www.microsoft.com/express/download/
Open Microsoft Visual C#. Click on "Project..." to the right of Create in the Recent Projects area of the Start Page.
The New Project window will open. Click on "Windows Forms Application", enter a Name, and click OK.
By default, the only form in the project will be called "Form1" and you will be in Design mode for that form. -
Step 4
Hover over the Toolbox on the left side of the screen and the Toolbox will automatically expand. Click and drag a Button control, under the Common Controls category, onto the form.
-
Step 5
Double click the button and you will now be in the code window for Form1. The method for the button click will already be created.
-
Step 6
Add "using Microsoft.Win32;" just beneath "using System.Windows.Forms;". This namespace contains the Registry object that has the SetValue method that we will be using.
-
Step 7
In the button1_Click method, place the following code:
try{
string MyKeyName = "HKEY_CURRENT_USER\\Environment";
string MyValueName = "BestLang";
string MyString = "C#";
Registry.SetValue(MyKeyName,MyValueName,MyString);
MessageBox.Show("Done.");
}
catch(Exception MyError){
MessageBox.Show("Error reading file: "+ MyError.Message);
}
The try/catch statements will capture any error that occurs and will pop-up a MessageBox with the error displayed.
The Registry.SetValue method takes two strings and an object for parameters. For our example, the third object will be another string. But you could write numeric data as well.
The method returns nothing so we will just display a MessageBox that it is done.
Note that the string MyKeyName has a double slash separating the registry keys. This is due to a single slash being a special character in a string. -
Step 8
Go up to the toolbar and run the program by clicking on the Start Debugging (f5) play button.
NOTE: If you got any kind of error after clicking the play button, you probably made a syntax error when typing the code. Reread the code until you find and correct the error and try again. -
Step 9
The form will take a moment and then pop up. Click on the button and you will get a pop-up stating that it is done.
-
Step 10
Go back to the Registy Editor and hit F5 to refresh the view. You should now see the new data. Awesome!















