Tricks of the Microsoft Office Gurus

As you'll see a bit later, the Registry's files are binary files, so you can't edit them directly. Instead, you use a program called the Registry Editor, which enables you to view, modify, add, and delete any Registry setting. It has a search feature to help you find settings, and export and import features enable you to save settings to and from a text file.

Playing It Safe with the Registry

The Registry is so important that you don't want to ever mess anything up or you could trash your system. Before making any changes to the Registry, consider reviewing the techniques outlined later in this chapter in the "Keeping the Registry Safe" section.

To launch the Registry Editor, select Start, Run to open the Run dialog box, type regedit, and click OK. Figure A.1 shows the Registry Editor window that appears.

Figure A.1. Running the REGEDIT command launches the Registry Editor, a front-end that enables you to work with the Registry's data.

The Registry Editor is reminiscent of Windows Explorer, and it works in basically the same way. The left side of the Registry Editor window is similar to Explorer's Folders pane, except that rather than folders, you see keys. For lack of a better phrase, I'll call the left pane the Keys pane.

Navigating the Keys Pane

The Keys pane, like Explorer's Folders pane, is organized in a treelike hierarchy. The five keys that are visible when you first open the Registry Editor are special keys called handles (which is why their names all begin with HKEY). These keys are referred to collectively as the Registry's root keys. I'll tell you what to expect from each of these keys later (see the section called "Getting to Know the Registry's Root Keys," later in this chapter).

These keys all contain subkeys, which you can display by clicking the plus sign (+) to the left of each key or by highlighting a key and pressing the plus-sign key on your keyboard's numeric keypad. When you open a key, the plus sign changes to a minus sign (). To close a key, click the minus sign or highlight the key and press the minus-sign key on the numeric keypad. (Again, this is just like navigating folders in Explorer.)

You often have to drill down several levels to get to the key you want. For example, Figure A.2 shows the Registry Editor after I've opened the HKEY_CURRENT_USER key, then the Control Panel subkey, and then clicked the Keyboard subkey. Notice how the status bar tells you the exact path to the current key, and that this path is structured just like a folder path.

Resizing the Keys Pane

To see all the keys properly, you likely have to increase the size of the Keys pane. To do this, use your mouse to drag the split bar to the right. Alternatively, select View, Split, use the right-arrow key to adjust the split bar position, and then press Enter.

Figure A.2. Open the Registry's keys and subkeys to find the settings you want to work with.

Understanding Registry Settings

If the left side of the Registry Editor window is analogous to Explorer's Folder pane, the right side is analogous to Explorer's Contents pane. In this case, the right side of the Registry Editor window displays the settings contained in each key (so I'll call it the Settings pane). The Settings pane is divided into three columns:

  • NameThis column tells you the name of each setting in the currently selected key (analogous to a filename in Explorer).

  • TypeThis column tells you the data type of the setting. There are five possible data types:

    • REG_SZThis is a string value.

    • REG_MULTI_SZThis is a series of strings.

    • REG_EXPAND_SZThis is a string value that contains an environment variable name that gets "expanded" into the value of that variable. For example, the %SystemRoot% environment variable holds the folder in which Windows XP is installed. So if you see a Registry setting with the value %SystemRoot%\System32\, and Windows XP is installed in C:\Windows, then the setting's expanded value is C:\Windows\System32\.

    • REG_DWORDThis is a double word value: a 32-bit hexadecimal value arranged as eight digits. For example, 11 hex is 17 decimal, so this number would be represented in DWORD form as 0x00000011 (17). (Why "double word"? A 32-bit value represents four bytes of data, and because a word in programming circles is defined as two bytes, a four-byte value is a double word.)

    • REG_BINARYThis value is a series of hexadecimal digits.

  • DataThis column displays the value of each setting.

Getting to Know the Registry's Root Keys

The root keys are your Registry starting points, so you need to become familiar with what kinds of data each key holds. The next few sections summarize the contents of each key.

HKEY_CLASSES_ROOT (HKCR)

HKEY_CLASSES_ROOTusually abbreviated as HKCRcontains data related to file extensions and their associated programs, the objects that exist in the Windows XP system, as well as applications and their OLE Automation information. There are also keys related to shortcuts and other interface features.

The top part of this key contains subkeys for various file extensions. You see .bmp for Bitmap (Paint) files, .doc for Word.Document.8 (Word) files, and so on. In each of these subkeys, the Default setting tells you the name of the registered file type associated with the extension. For example, the .txt extension is associated with the txtfile file type.

These registered file types appear as subkeys later in the HKEY_CLASSES_ROOT branch, and the Registry keeps track of various settings for each registered file type. In particular, the shell subkey tells you the actions associated with this file type. For example, in the shell\open\command subkey, the Default setting shows the path for the executable file that opens. Figure A.3 shows this subkey for the Word.Document.8 file type.

HKEY_CLASSES_ROOT is actually a copy (or an alias, as these copied keys are called) of the following HKEY_LOCAL_MACHINE key:

HKEY_LOCAL_MACHINE\Software\Classes

Figure A.3. The registered file type subkeys specify various settings associated with each file type, including its defined actions.

The Registry creates an alias for HKEY_CLASSES_ROOT to make these keys easier for applications to access and to improve compatibility with legacy programs.

HKEY_CURRENT_USER (HKCU)

HKEY_CURRENT_USER (usually abbreviated as HKCU) contains data that applies to the user who is currently logged on. It contains user-specific settings for Control Panel options, network connections, applications, and more. Following is a summary of the most important HKEY_CURRENT_USER subkeys:

  • AppEventsContains sound files that play when particular system events occur (such as the maximizing of a window).

  • Control PanelContains settings related to certain Control Panel icons.

  • IdentitiesContains settings related to Outlook Express, including mail and news options and message rules.

  • InstallLocationsMRUContains a list of the drives and folders that were most recently used (MRU) to install software or drivers.

  • Keyboard LayoutContains the keyboard layout as selected via Control Panel's Keyboard icon.

  • NetworkContains settings related to mapped network drives.

  • RemoteAccessContains settings related to remote network access.

  • SoftwareContains user-specific settings related to installed applications and Windows. For example, Window stores the user-specific settings for Office 2003 in the following subkey:

    HKEY_CURRENT_USER\Software\Microsoft\Office\11.0

HKEY_LOCAL_MACHINE (HKLM)

HKEY_LOCAL_MACHINE (HKLM) contains non-userspecific configuration data for your system's hardware and applications. There are three subkeys that you'll use most often:

  • HardwareContains subkeys related to serial ports and modems, as well as the floating-point processor.

  • SoftwareContains computer-specific settings related to installed applications. The Classes subkey is aliased by HKEY_CLASSES_ROOT. The Microsoft subkey contains settings related to Windows and Office (as well as any other Microsoft products you have installed on your computer).

  • SystemContains subkeys and settings related to Windows startup.

HKEY_USERS (HKU)

HKEY_USERS (HKU) contains settings that are similar to those in HKEY_CURRENT_USER. HKEY_USERS is used to store the settings for users with group policies defined, as well as the default settings (in the .DEFAULT subkey) that get mapped to a new user's profile.

HKEY_CURRENT_CONFIG (HKCC)

HKEY_CURRENT_CONFIG (HKCC) contains settings for the current hardware profile. If your machine uses only one hardware profile, HKEY_CURRENT_CONFIG is an alias for HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001. If your machine uses multiple hardware profiles, HKEY_CURRENT_CONFIG is an alias for HKEY_LOCAL_MACHINE\SYSTEM\ControlSetn, where n is the numeric identifier of the current hardware profile. This identifier is given by the Current setting in the following key:

HKEY_LOCAL_MACHINE\SSYSTEM\CurrentControlSet\Control\IDConfigDB

Understanding Hives and Registry Files

The Registry database consists of a number of files that contain a subset of the Registry called a hive. A hive consists of one or more Registry keys, subkeys, and settings. Each hive is supported by several files that use the extensions listed in Table A.1.

Table A.1. Extensions Used by Hive Supporting Files

Extension

File Contains

None

A complete copy of the hive data.

.alt

A backup copy of the hive data.

.log

A log of the changes made to the hive data.

.sav

A copy of the hive data from the text mode portion of the Windows XP setup.

Table A.2 shows the supporting files for each hive (note that not all of these files may appear on your system).

Table A.2. Supporting Files Used by Each Hive

Hive

Files

HKLM\SAM

%SystemRoot%\System32\config\SAM

%SystemRoot%\System32\config\SAM.LOG

%SystemRoot%\System32\config\SAM.SAV

HKLM\Security

%SystemRoot%\System32\config\SECURITY

%SystemRoot%\System32\config\SECURITY.LOG

%SystemRoot%\System32\config\SECURITY.SAV

HKLM\Software

%SystemRoot%\System32\config\SOFTWARE

%SystemRoot%\System32\config\SOFTWARE.LOG

%SystemRoot%\System32\config\SOFTWARE.SAV

HKLM\System

%SystemRoot%\System32\config\SYSTEM

%SystemRoot%\System32\config\SYSTEM.ALT

%SystemRoot%\System32\config\SYSTEM.LOG

%SystemRoot%\System32\config\SYSTEM.SAV

HKU\.DEFAULT

%SystemRoot%\System32\config\DEFAULT

%SystemRoot%\System32\config\DEFAULT.LOG

%SystemRoot%\System32\config\DEFAULT.SAV

Also, each user has his or her own hive, which gets mapped to HKEY_CURRENT_USER during logon. The supporting files for each user hive are stored in \Documents and Settings\User, where User is the username. In each case, the NTUSER.DAT file contains the hive data, and the NTUSER.LOG file tracks the hive changes.

Категории