The Windows registry accumulates and creates database of all sort of information, configuration, settings, option, updates and other values for system software, hardware and installed applications.
Where Windows registry stores and updates the data?
Registry keys and Registry Values store all initial configuration of a software program, application, devices and hardware. It also gets updated whenever there is a change in configuration or update of devices, hardware or application.
Also, Windows Registry gets updated when there is a change in Windows Components and files.
How Windows registry plays its role?
So, whenever you run any system software or application, it will retrieve the latest configuration and settings of the current user from the registry.
Moreover, it also modifies the registry entry and its values in its course of execution of Windows component, software or hardware.
What is the significance of Windows registry?
Windows registry is one of the most critical factors for your Windows stability, performance and reliability. Windows faces most of the critical problems due to registry errors or crashes.
Also, if their is any changes to registry key and its values may upgrade or downgrade your performance.
Many software or application when uninstalled leave traces of invalid registry key which may effect the performance, operating speed and can lead to crashes.
How to open Windows Registry Editor?
To open Windows Registry Editor, you need to press Windows key + R and type in “regedit” and click OK to open it.
What is a Registry Key?
The Registry Key structure is similar to folders. A single folder contain all the information and data related to that folder.
In a Registry Keys, the top most folder is known as Hives or Registry Hives.
Likewise, if we classify any information then we create sub-folders.
The sub-folder in Windows Registry Key is classified as Keys and any folder under sub-folder is known as Sub Keys.
So, in short the structure is like below
Hive > Key > Sub Key > Sub Key …
Type of Registry Keys:
The Windows Registry keys has five major Hives. We are doing to describe each and every Hive below.
HKEY_CLASSES_ROOT – This hive store information related to file type, file extension, file association, shortcut information and user interface information. When Windows generate a task, it invokes correct program and execute it.
HKEY_USERS – This hive store configuration setting of each software and hardware item in the system, correspond to each of the users of the system. So, the user profiles created in a system may have multiple information like Control Panel settings, themes and colors used, folder restriction and many more.
HKEY_CURRENT_USER – This hive store the configuration settings of each software and hardware installed in the system corresponding to the logged-on user. It means that whenever users logs-on into the system then their configuration setting correspond to that user will be retrieved from HKEY_USERS.
So, it works dynamically. If the current user modifies the registry entry during the course of operation then the changes has an effect for that user only.
HKEY_LOCAL_MACHINE – This hive store the configuration settings of each software and hardware installed in the system for all users. The information stored are machine specific not user specific.
HKEY_CURRENT_CONFIG – This hive store the current software and hardware setting of a system. And, it points to HKEY_LOCAL_MACHINE.
What is a Registry Value?
Registry Key is like a folder. So, in a folder we may have as many files. These files are knows as Registry Values.
We can have any number of Registry values corresponding to a Registry Key.
Now, we will have to discuss the type of Windows Registry Values
Type of Registry Values:
Registry Values are of different types and each Registry Value have different purposes to serve. Some registry values use simple letters and numbers, while other registry values may use binary or hexadecimal to express their values.
String Value (REG_SZ):
String value contains letters, numbers and symbols. This is one of the simplest and most commonly used String Value. Also, it is in human readable format.
Registry Editor lists String Value as a “REG_SZ” type of Registry Values
It is also a single line registry values. We have taken an example of Avast Software, Keyboard and Mouse to define further how the registry values looks.
Example 1: Path of the registry: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\AVAST Software\Avast
One of the String Value named as “DataFolder” and is REG_SZ type of Registry Values. It contains value data as “C:\ProgramData\AVAST Software\Avast“.
It means that it shows the data folder path.
Example 2: Path of the registry: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\AVAST Software\Avast
String Value, named as “LicenseFile“, also contain file path where license file is stored.
Example 3: Path of the registry: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\AVAST Software\Avast
String Value named as “Version” contain value data: 19.8
Example 4: Registry Path: Computer\HKEY_CURRENT_USER\Control Panel\Keyboard
Here, we have taken String Value named as “KeyboardSpeed” contain value data: 31. It means as we change the number, the keyboard speed changes accordingly.
Example 5: Registry Path: Computer\HKEY_CURRENT_USER\Control Panel\Mouse
Here, we taken String Value named as “DoubleClickSpeed” that contain data value: 500. It actually denote the click speed of the mouse.
MULTI-STRING VALUE (REG_MULTI_SZ)
A multi-string value also contain letters, numbers and symbols but instead of single line it has multiple line of strings.
The Windows Registry Editor lists “REG_MULTI_SZ” types of registry values for multi-string values.
Example 1: Registry Path: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\AVAST Software\Avast
Here, we have taken Multi String Value named as “MicroUpdates” that contain multiple string data.
EXPANDABLE STRING VALUE (REG_EXPAND_SZ)
The expandable string value is a string value that contain variables. It expands to what the variable defines and is identified with % sign.
The most common type of expandable string values in Windows 10 is Environment Variables. Some of them are %userprofile%, %windir%, %temp%
The type of String Value is known as REG_EXPAND_SZ.
Example 1: Registry path: Computer\HKEY_CURRENT_USER\Environment
Here, the String Value name is “TEMP” and the data value is %USERPROFILE%\AppData\Local\Temp.
%USERPROFILE% is a Environment Variables that contain username of the user. Whenever, Windows or other application call for TEMP, %USERPROFILE% variable is replaced with a username.
BINARY VALUE (REG_BINARY)
The binary value type of registry value contain binary number that is zeros and ones.
Example 1: Registry path: Computer\HKEY_CURRENT_USER\Control Panel\Mouse
Here, we have taken the example of Mouse which is under Control Panel Sub Key.
It has REG_BINARY type String Value named as SmoothMouseXCurve and SmoothMouseYCurve which contain binary value. It tells about inflection points in a mouse acceleration graph. (Here, the points refer as curve in a graph)
SmoothMouseXCurve tells about the inflection point in a X coordinate. Whereas, SmoothMouseYCurve has inflection point in a Y coordinate. Although, it is not in a human readable format.
DWORD VALUES (32-BIT) AND QWORD VALUES (64-BIT)
DWORD Values and QWORD Values both are expressed in decimal and hexadecimal format. It depends on whether your Windows is running on 64 bit or 32 bit operating system.
More importantly, “DWORD” means double word, whereas WORD means 16 bits. So, it would be 16×2 = 32 bits
Similarly, “QWORD” means quad word. So, by this logic, it would be 16×4 = 64 bits.
In a Registry Editor, DWORD (32 bit) type of Registry Values is defined as “REG_DWORD“. Whereas, QWORD (64 bit) type of Registry Values is defined as “REG_QWORD“.
The value data is in both decimal and hexadecimal format.
Example 1: Registry path: Computer\HKEY_CURRENT_USER\Control Panel\Personalization\Desktop Slideshow
Here, we have taken registry value named as “Interval” which is REG_DWORD type of registry value, having a value data of 1b7740 (Hexadeciaml) and 1800000 (Decimal).
All Registry Values, which we have discussed, are applicable in all versions of Windows. So, whenever, you install any application it will create Registry Key and correspondingly will create Registry Values.
You should always be aware of these things when you try to edit the registry values or want to add any new Registry Key. This task is quite risky and may mess with your core files.
It is always advisable to back up your Windows Registry before you try to do any edit. So, if things goes wrong you can be able to restore Windows Registry.
If you don’t know how to add, change and delete Registry Key and Registry Values, then it would be inappropriate to edit Registry.
You can also create System restore points in Windows 10 to restore the whole Windows to normal stage whenever thing goes wrong.