Home Tutorials What are Registry Keys?

What are Registry Keys?

Posted: July 5, 2009

If you use a computer system that runs a Windows OS, you can be sure that your system has a registry. The Windows registry is a core component of any computer system employing a Microsoft Windows operating system. Without a registry, Windows cannot even launch or run on a computer. This makes computer systems' registries a vital part of what allows your system to boot up and initiate all of the amazing processes that we - as the twenty-first century computer users - rely on our computers to instigate for us every single day.

The Windows registry is a hierarchical framework that contains within it a main key – also referred to as a Hive – which further contains your registry's keys, subkeys, and their values. This article will be primarily exploring one particular component of the registry called keys.

For the purposes of fully understanding your registry's keys, a brief rundown of its Hives seems to be the most appropriate starting point. A Hive is the top most echelon of your registry's hierarchical data tree, and depending on the specific Windows operating system running on your computer, your system's registry contains either five or six different Hives. If you open RegEdit on your computer system, there are six Hives located on the Windows 9x Platform and five Hives on the NT Platform. Each of your system's Hives contains a particular category of data. For instance, one Hive will contain data on the particular hardware components installed on your computer; while a second will contain information on the specific configuration applying to whatever particular user is logged onto your system at the time.

Registry keys can be considered the second rung of your registry's totem pole of data. In your registry's hierarchical setup, keys are located just under Hives. More particularly, your registry's keys are located within the various Hives in your computer's registry.
The Windows registry contains seven root keys:

HKEY_LOCAL_MACHINE (HKLM): This subtree contains computer specific details including installed hardware and software, software settings, and other details. This has the configuration for the actual machine.

HKEY_CURRENT_USER (HKCU): This subtree is linked to the HKEY_USERS. It contains user-specific settings like configuration and preferences for the specific user who is currently logged on.

HKEY_CLASSES_ROOT (HKCR): This subtree is linked to the HKEY_LOCAL_MACHINE that explains certain software settings. It contains details related with the core user interface, including which programs are used to open a particular file type.

HKEY_CURRENT_CONFIG (HKCC): This subtree is linked to the HKEY_LOCAL_MACHINE and contains information about the current computer's hardware configuration.

HKEY_USERS (HKU): This subtree contains details, whether its user-specific or generic, about all the users who log on to the machine. The generic settings are accessible to all users who log on to the machine. This key includes subkeys for each user that logs on to the machine. The details are comprised of default settings for applications, desktop configurations, and more.

HKEY_DYN_DATA: This subtree is linked to the HKEY_LOCAL_MACHINE. It contains real-time performance statistics for various network components as part of the hardware Plug and Play. It only appears on Windows 95/98/ME.

HKEY_PERFORMANCE_DATA: This subtree is invisible in the Windows Registry Editor and only appears in NT-based versions of Windows.

Keys can be defined as organizational components of your computer's registry. Individual registry keys contain one of two specific things – they either contain registry values for a specific key or they contain further subkeys. It can be helpful to think of your registry keys as folders, your subkeys as folders within folders, and your registry values as files. When placed in this light, the process of breaking down and understanding the contents of your computer's registry keys can appear much less complex and befuddling.