- Firing Up the Registry Editor
- Getting to Know the Registry
- Keeping the Registry Safe
- Working with Registry Entries
- Finding Registry Entries
Working with Registry Entries
Now that you've had a look around, you're ready to start working with the Registry's keys and settings. In this section, I'll give you the general procedures for basic tasks, such as modifying, adding, renaming, deleting, and searching for entries, and more. These techniques will serve you well throughout the rest of the book when I take you through some specific Registry modifications.
Changing the Value of a Registry Entry
Changing the value of a Registry entry is a matter of finding the appropriate key, displaying the setting you want to change, and editing the setting's value. Unfortunately, finding the key you need isn't always a simple matter. Knowing the root keys and their main subkeys, as described earlier, will certainly help, and the Registry Editor has a Find feature that's invaluable. (I'll show you how to use it later.)
To illustrate how this process works, let's work through an example: changing your registered owner name and company name. In earlier versions of Windows, the installation process probably asked you to enter your name and, optionally, your company name. These registered names appear in several places as you work with Windows:
- If you select Help, About in most Windows 7 programs, your registered names appear in the About dialog box.
- If you install a 32-bit application, the installation program uses your registered names for its own records (although you usually get a chance to make changes).
Unfortunately, if you install a clean version of Windows 7, Setup doesn't ask you for this data, and it takes your username as your registered owner name. (If you upgraded to Windows 7 for Windows XP, the owner name and company name were brought over from your previous version of Windows.) With these names appearing in so many places, it's good to know that you can change either or both names (for example, to put in your proper names if Windows 7 doesn't have them or if you give the computer to another person). The secret lies in the following key:
HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion
To get to this key, you open the branches in the Registry Editor's tree pane: HKEY_LOCAL_MACHINE, and then SOFTWARE, and then Microsoft, and then Windows NT. Finally, click the CurrentVersion subkey to select it. Here, you see a number of settings, but two are of interest to us (see Figure 12.4):
RegisteredOrganization |
This setting contains your registered company name. |
RegisteredOwner |
This setting contains your registered name. |
Figure 12.4 Navigate to HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion to see your registered names.
Now you open the setting for editing by using any of the following techniques:
- Select the setting name and either select Edit, Modify or press Enter.
- Double-click the setting name.
- Right-click the setting name and click Modify from the context menu.
The dialog box that appears depends on the value type you're dealing with, as discussed in the next few sections. Note that edited settings are written to the Registry right away, but the changes might not go into effect immediately. In many cases, you need to exit the Registry Editor and then either log off or restart Windows 7.
Editing a String Value
If the setting is a REG_SZ value (as it is in our example), a REG_MULTI_SZ value, or a REG_EXPAND_SZ value, you see the Edit String dialog box, shown in Figure 12.5. Use the Value Data text box to enter a new string or modify the existing string, and then click OK. (For a REG_MULTI_SZ multistring value, Value Data is a multiline text box. Type each string value on its own line. That is, after each string, press Enter to start a new line.)
Figure 12.5 You see the Edit String dialog box if you're modifying a string value.
Editing a DWORD or QWORD Value
If the setting is a REG_DWORD, you see the Edit DWORD (32-Bit) Value dialog box shown in Figure 12.6. In the Base group, select either Hexadecimal or Decimal, and then use the Value Data text box to enter the new value of the setting. (If you chose the Hexadecimal option, enter a hexadecimal value; if you chose Decimal, enter a decimal value.) Note that editing a QWORD value is identical, except that the dialog box is named Edit QWORD (64-Bit) Value, instead.
Figure 12.6 You see the Edit DWORD Value dialog box if you're modifying a double word value.
Editing a Binary Value
If the setting is a REG_BINARY value, you see an Edit Binary Value dialog box like the one shown in Figure 12.7.
Figure 12.7 You see the Edit Binary Value dialog box if you're modifying a binary value.
For binary values, the Value Data box is divided into three vertical sections:
- Starting Byte Number—The four-digit values on the left of the Value Data box tell you the sequence number of the first byte in each row of hexadecimal numbers. This sequence always begins at 0, so the sequence number of the first byte in the first row is 0000. There are eight bytes in each row, so the sequence number of the first byte in the second row is 0008, and so on. You can't edit these values.
- Hexadecimal Numbers (Bytes)—The eight columns of two-digit numbers in the middle section display the setting's value, expressed in hexadecimal numbers, where which each two-digit number represents a single byte of information. You can edit these values.
- ANSI Equivalents—The third section on the right side of the Value Data box shows the ANSI equivalents of the hexadecimal numbers in the middle section. For example, the first byte of the first row is the hexadecimal value 54, which represents the uppercase letter T. You can also edit the values in this column.
Editing a .reg File
If you exported a key to a registration file, you can edit that file and then import it back into the Registry. To make changes to a registration file, find the file in Windows Explorer, right-click the file, and then click Edit. Windows 7 opens the file in Notepad.
Creating a .reg File
You can create registration files from scratch and then import them into the Registry. This is a handy technique if you have some customizations that you want to apply to multiple systems. To demonstrate the basic structure of a registration file and its entries, Figure 12.8 shows two windows. The top window is the Registry Editor with a key named Test highlighted. The Settings pane contains six sample settings: the (Default) value and one each of the five types of settings (binary, DWORD, expandable string, multistring, and string). The bottom window shows the Test key in Notepad as an exported registration file (Test.reg).
Figure 12.8 The settings in the Test key shown in the Registry Editor correspond to the data shown in Test.reg file shown in Notepad.
Windows 7 registration files always start with the following header:
Windows Registry Editor Version 5.00
Next is an empty line followed by the full path of the Registry key that will hold the settings you're adding, surrounded by square brackets:
[HKEY_CURRENT_USER\Test]
Below the key are the setting names and values, which use the following general form:
"SettingName"=identifier:SettingValue
SettingName |
The name of the setting. Note that you use the @ symbol to represent the key's Default value. |
|
identifier |
A code that identifies the type of data. REG_SZ values don't use an identifier, but the other four types do: |
|
dword |
Use this identifier for a DWORD value. |
|
hex(b) |
Use this identifier for a QWORD value. |
|
hex |
Use this identifier for a binary value. |
|
hex(2) |
Use this identifier for an expandable string value. |
|
hex(7) |
Use this identifier for a multistring value. |
|
SettingValue |
This is the value of the setting, which you enter as follows: |
|
String |
Surround the value with quotation marks. |
|
DWORD |
Enter an eight-digit DWORD value. |
|
QWORD |
Enter eight two-digit hexadecimal pairs, separated by commas, with the pairs running from highest order to lowest. For example, to enter the QWORD value 123456789abcd, you would use the following value: cd,ab,89,67,45,23,01,00 |
|
Binary |
Enter the binary value as a series of two-digit hexadecimal numbers, separating each number with a comma. |
|
Expandable string |
Convert each character to its hexadecimal equivalent and then enter the value as a series of two-digit hexadecimal numbers, separating each number with a comma, and separating each character with 00. |
|
Multistring |
Convert each character to its hexadecimal equivalent and then enter the value as a series of two-digit hexadecimal numbers, separating each number with a comma, and separating each character with 00, and separating each string with space (00 hex). |
Renaming a Key or Setting
You won't often need to rename existing keys or settings. Just in case, though, here are the steps to follow:
- In the Registry Editor, find the key or setting you want to work with, and then highlight it.
- Select Edit, Rename, or press F2.
- Edit the name and then press Enter.
Creating a New Key or Setting
Many Registry-based customizations don't involve editing an existing setting or key. Instead, you have to create a new setting or key. Here's how you do it:
- In the Registry Editor, select the key in which you want to create the new subkey or setting.
- Select Edit, New. (Alternatively, right-click an empty section of the Settings pane and then click New.) A submenu appears.
- If you're creating a new key, select the Key command. Otherwise, select the command that corresponds to the type of setting you want: String Value, Binary Value, DWORD Value, Multi-String Value, or Expandable String Value.
- Type a name for the new key or setting.
- Press Enter.
Deleting a Key or Setting
Here are the steps to follow to delete a key or setting:
- In the Registry Editor, select the key or setting that you want to delete.
- Select Edit, Delete, or press Delete. The Registry Editor asks whether you're sure.
- Click Yes.