The Registry or Windows Registry contains information, settings, options, and other values for programs and hardware installed on all versions of Microsoft Windows operating systems. For example, when a program is installed, a new subkey containing settings like a program's location, it's version, and how to start the program, are all added to the Windows Registry.
When Windows was initially released, it relied heavily on .ini files to store Windows and Windows programs configurations and settings. Although .ini files are still sometimes used, most Windows programs rely on settings made to the Windows Registry after being installed.
To view and make changes to the Windows Registry, the Windows Registry Editor (shown below) may be used. In Windows 3.x, the Registry Editor was known as the Registration Info Editor or Registration Editor. The Registry Editor allows you to view all keys and values that are in the Registry as well as change Windows, program, or driver values you feel are necessary.
Registry Root Keys (hive name)
When first opening the Windows Registry Editor, it displays root keys that contain all Registry values. Below is a brief description about each of the most common root keys and the values contained in each of them.
|HKEY_CLASSES_ROOT (HKCR)||Describes file type, file extension, and OLE information.|
|HKEY_CURRENT_USER (HKCU)||Contains user who is currently logged into Windows and their settings.|
|HKEY_LOCAL_MACHINE (HKLM)||Contains computer-specific information about the hardware installed, software settings, and other information. This information is used for all users who log on to this computer and is one of the more commonly accessed areas in the Registry.|
|HKEY_USERS (HKU)||Contains information about all the users who log on to the computer, including both generic and user-specific information.|
|HKEY_CURRENT_CONFIG (HKCC)||The details about the current configuration of hardware attached to the computer.|
|HKEY_DYN_DATA (HKDD)||Only used in Windows 95, 98, and NT this key contained the dynamic status information and Plug-and-Play information. This information may change as devices are added to or removed from the computer. The information for each device includes the related hardware key and the device's current status, including problems.|
Windows Registry values
Below are the different values you will encounter while in the Windows Registry and a brief description about what type of data each value can contain.
|Closed key||Like the folders seen in Windows Explorer. These keys are what contain the Registry subkeys mentioned below.|
|Open key||When a key is opened the icon changes to an expanded or open key and displays all its contents and any additional subkeys.|
|REG_SZ||String value||Allows for any string value to be defined on a single line, such as a file path. This is the most commonly found subkey in the Registry.|
|REG_MULTI_SZ||String array value||Any multi-line string value.|
|REG_EXPAND_SZ||Expanded string value||Contains a string with environmental or system variables that need to be expanded. For example, c:\%windir%\example.exe could be the same as C:\windows\example.exe.|
|REG_BINARY||Binary value||Allows for attributes to be defined in binary as either on or off (0 or 1).|
|REG_DWORD||DWORD value||Similar to the binary value, but capable of values being defined in either 32-bit decimal or hex.|
|REG_QWORD||QWORD value||Like the DWORD, but stored as a 64-bit value.|