Registry Structure

Why Everyone Should Know a Little About the Structure of the Registry

I think it is worthwhile to take a look at the structure of the Registry even if you never intend to change a single comma in it. Total ignorance about what is actually in the Registry allows the imagination to assign mysterious and fearsome properties to something that is actually just a database. You need not remember any details but having once seen what is actually in the Registry, you will be psychologically better prepared to do the type of Registry operations that everybody should know- backing up and restoring. These functions are discussed on another page. You might even be intrigued enough to take advantage of the many useful system tweaks that are done with the many scripts that others have already written for you. These are discussed on another page.

The Registry Database and System Information

The Registry is a central store of information about the configuration of the computer. Every operating system has to have information about its hardware and software stored somewhere. There are various ways to store and keep track of this basic system data and Microsoft decided to use the particular method of the Registry. Other operating systems such as the Unix based varieties do it a different way but all computers systems have configuration data somewhere.

The configuration information is actually stored in binary form but almost no one accesses this data directly. Windows comes with an accessory called the Registry Editor and it provides the interface for actually inspecting the Registry. Using the Registry Editor is discussed in more detail on another page. Here, I will just indicate the broader outlines of how the configuration data is organized.

Types of Information in the Registry

The information that the computer system needs to have is divided into two main categories. One is general information about the computer itself. These are settings that apply system wide and includes the hardware on the system. This is named the Local Machine, The other general category consists of settings that are specific to each user account. and is labeled Users. The particular user who is logged on is called the Current User.

The Hierarchical Tree Structure

Information in the Registry is arranged in a tree-like system akin to folders and files. In the Registry, the containers for information are called "keys". These are analogous to folders. Keys can have subkeys just as folders can have subfolders. The name of data that is contained in a key is called a "value". This is something analogous to a file name. The actual data can have several formats and may be a string, a number, or a series of numbers.

Table I. Root keys
Keys Abbreviation Description
HKEY_CLASSES_ROOT HKCR Stores file association and COM object registration
HKEY_CURRENT_USER HKCU Stores data associated with the account currently logged on
HKEY_LOCAL_MACHINE HKLM Stores system-related information
HKEY_USERS HKU Stores information about all the accounts on the machine
HKEY_CURRENT_CONFIG HKCC Stores information about the current machine profile

Just as the computer file and folder system has a root (usually a hard drive) the Registry has root keys at the top of the hierarchy of keys and values. I have mentioned the two general categories of information and these constitute two root keys. Unfortunately, we now have to deal with some Microsoft jargon. Table I shows the names that Microsoft uses. The names of root keys have "HKEY" tacked on the front. Although five root keys are used, three of them are really just subkeys or combinations of subkeys of the two main keys, HKLM and HKU. The additional root keys make programming easier.The abbreviations that are given are often used in writing scripts and INF files. To provide the flavor of what the Registry contains, Table II describes some subkeys for the root key HKEY_CURRENT_USER. There are several obsolete or very specialized keys that I have omitted.

Table II. Subkeys of HKCU
Subkey Description
AppEvents Associates sounds with events
Console Command window settings
Control Panel Screen saver, desktop scheme, keyboard and mouse settings. Accessibility and regional settings
Environment Environment variable settings
Keyboard Layout Keyboard layout settings
Network Network drive mappings and settings
Printers Printer connection settings
Software User specific software preferences

The tree structure of the Registry's information is partially shown in the figure on the left, The actual structure is very large with many branches but the figure shows a small portion with the root key   HKEY_LOCAL_MACHINE expanded by one level to show the major keys under HKLM. In turn, each of these keys contains subkeys and values. Values and their data have addresses or paths that are similar to those used for folders and files. Although these addresses can be quite long, there is a system. An example of how information in the Registry is addressed is the branch of HKCU that contains many of the Windows settings appropriate to the user who is currently logged on. This subkey is: HKCU\Software\Microsoft\Windows\Current Version\.

More detail about the Registry structure is given at the next page.

Speed Up Your PC: Optimize Your Computer's Performance in 3 Mins!

Home | About | Contact us | Privacy Policy | Technical Support | Terms of Use | Uninstall | ©2007-2014 Speed Tools - All rights reserved.
We investigate and prosecute all attempts at copying out work with out consent.