THE  WINDOWS  REGISTRY  EXPLAINED

During your time on the computer/internet you are at some point going to come across the words THE REGISTRY or WINDOWS REGISTRY, usually because of software known as a Registry Cleaner. A registry cleaner normally claims that it can make your computer faster and/or tweak (manipulate) your computer's settings/setup to boost performance and so on. This is due to the fact that THE REGISTRY is basically a Database file that catalogs many of your computer's hardware and software settings and can therefore have its database (registry) entries edited/modified by a registry cleaner for example.


In truth THE REGISTRY is made up of many, smaller, Database files but is classed as THE REGISTRY simply because it catalogs/registers computer hardware and software settings in general and as a whole. In this section I am going to show you how you can manually edit/modify THE REGISTRY using the Windows 10 program called RegEdit.exe. You might need to manually edit/modify THE REGISTRY if a piece of software is causing you problems for example or if you want to apply a registry Fix/Patch (edit/modify a database (registry) entry in order to fix or patch-up a problem).

Editing/Modifying THE REGISTRY can leave the computer's hardware, software or both in an unwanted corrupt/broken/disastrous state if THE REGISTRY is edited/modified in the wrong way (i.e. when a database (registry) entry is set/given an incorrect wrong value). Continuing with this section means you understand and acknowledge this.

NAVIGATING  THROUGH  THE  REGISTRY

One way to manually edit/modify THE REGISTRY is to use the Windows 10 program called RegEdit.exe. You can execute (run/launch) it via the Run window. Right click on the START Menu button, to bring up its context (Options) menu, and then click on the RUN menu-item. Doing so will bring up the Run window whereby you then need to type regedit into its SEARCH edit box before clicking on its OK button to execute the program called RegEdit.exe.

Registry Editor Explained

Fig 1.0 - Right click on the START Menu button and select the RUN menu-item

Registry Editor Explained

Fig 1.1 - Type regedit into the SEARCH edit box and then click on the OK button

After clicking on the OK button the program called RegEdit.exe is searched for, to which there is only one, and executed. Before RegEdit.exe is actually executed a UAC security requester appears (not shown here) that asks you if you want to run RegEdit.exe. Just click on its YES button to continue.

User Account Control (UAC) is a feature of Windows 10 that helps to prevent unauthorized changes to the computer, such as deleting a system file or editing/modifying the registry. When attempting to edit/modify the registry UAC automatically blocks you off with a security requester because it wants to know if you are the one attempting to edit/modify the registry and not a piece of malicious software for example. In the above case simply click on the YES button of the actual UAC security requester that appears to continue.

Registry Editor Explained

Fig 1.2 - The RegEdit window - Double click on the COMPUTER icon to display the folders.

When the RegEdit window first appears (above) it will more than likely be showing the COMPUTER (root/main) folder only, in its left window pane, therefore you will need to double click on COMPUTER in order to display the sub-folders that make up the registry. The common word used for a registry folder is KEY and the common word used for a sub-folder is a SUBKEY. In these examples I refer to them as folder and sub-folder respectively because this is what they are. In other words: Look at the registry as a collection of folders, sub-folders and settings files and you should have no problems understanding the registry - It is words like KEY that put people off using the registry because they now think it is complex.

The folder view works in the same many as a standard folder view - You double click on a main/root folder (folder icon) to get inside it and view its sub-folders and files. In the case of RegEdit, double clicking on the main COMPUTER folder displays its sub-folders and in turn its settings files. Folders and Sub-Folders are displayed in the left window pane and Settings Files are displayed in the right window pane. A settings file can consist of anything to do with a piece of hardware and/or software - The colour of something, the Path Name of a file, the last opened file, which media player is to play mp3 files and so on.

HKEY  SUB-FOLDERS  EXPLAINED

HKEY_CLASSES_ROOT

This sub-folder is used to store information about the various file associations. In other words: When a piece of software is installed, by you or Windows 10, the files that that software will work with are recorded here. So if you install Microsoft Office 2016 for example it will register the .doc, .docx and so on file extensions for its WORD program. From then on Windows 10 will know to execute (launch) WORD whenever you double click on a file with the .doc file extension for example.

If a file (i.e .doc file) is associated with the wrong program (i.e it is associated with a paint program instead of WORD) it could indicate a corrupt setting in THE REGISTRY. If so, you might look at these settings to see if there is a problem within this folder's settings files.


HKEY_CURRENT_USER

This sub-folder is used to store application settings specific to the currently logged-in user. Settings to do with your Desktop, Printer(s) available, Program Files, Control Panel, Network and so on.

A new HKEY_CURRENT_USER folder is created each time a user logs on. The settings come from the profile of the current user. If no profile is available, the folder is built from the user profile settings established for a default user, which are stored in the system file called Ntuser.dat.


HKEY_LOCAL_MACHINE

This sub-folder is used to store settings that are general to all users on the computer. Settings to do with Installed Applications, Drivers, Services and so on.


HKEY_USERS

This sub-folder is used to store sub-folders/settings files corresponding to HKEY_CURRENT_USER for each User Profile actively loaded on the machine.


HKEY_CURRENT_CONFIG

This sub-folder is used to store hardware configuration settings.


Getting back to the editing/modifying. After double clicking on the root COMPUTER folder (Fig 1.2 above) the next step is get inside the HKEY sub-folder you are interested in. In this example I want to end up in the MICROSOFT folder, whose path name is COMPUTER (main folder) >> HKEY_CUURENT_USER (sub-folder), SOFTWARE (sub-sub-folder) >> MICROSOFT (sub-sub-sub-folder), in order to change the registry settings for the program called Notepad.exe. I therefore need to get inside the HKEY_CURRENT_USER sub-folder first. This is done by double clicking on its folder (sub-folder) name.

You get inside a folder (main folder, sub-folder or sub-sub-folder, etc) by double clicking on its yellow folder icon and folder name, just like a standard Windows 10 folder. To view its contents without actually going inside the folder (main folder, sub-folder or sub-sub-folder or whatever), you click on the grey expansion arrow    to the left of its name. The grey expansion arrow will turn light blue    when hovered over and black     when the folder view (main folder, sub-folder, sub-sub-folder or whatever) has been expanded; revealing its own contents (i.e. sub-folders).

Registry Editor Explained

Fig 1.3 - Double click on a folder (main folder, sub-folder, sub-sub-folder or whatever) to get inside it and reveal its contents

Registry Editor Explained

Fig 1.4 - Click on the expansion arrow of a folder (main folder, sub-folder, sub-sub-folder, etc) to open its folder view and see its contents

Now that I am inside the HKEY_CURRENT_USER sub-folder (above), denoted by the pathname in the status bar, I then need to get inside the SOFTWARE (sub-sub-folder) and then inside the MICROSOFT (sub-sub-sub-folder). I do not need to double click on the SOFTWARE sub-sub-folder though in order to then get inside MICROSOFT. I could just click on the expansion arrow to the left side of the SOFTWARE sub-sub-folder (Fig 1.4 above) before then double clicking on the MICROSOFT sub-sub-sub-folder (Fig 1.5 below); which is exactly what I have done here (Figures 1.4 and 1.5).

Registry Editor Explained

Fig 1.5 - With one click the MICROSOFT sub-sub-sub-folder is selected, but with a double click it is opened and its contents is revealed.

With the MICROSOFT sub-sub-sub-folder open, and its folder view (contents) revealed, the next step is to scroll down its list of folders (folder view/contents) in order to then select (left click on) the folder called NOTEPAD. It contains the settings (files) for the program called Notepad.exe.

Registry Editor Explained

Fig 1.6 - Select (left click on) the folder called Notepad to continue

The four settings belonging to the program called Notepad.exe allow you to change Notepad's desktop screen X, Y co-ordinates (Notepad's top-left corner position) and its actual window size. iWindowPosX is the window's current left position, iWindowPosY is the window's current top position, iWindowPosDX is the window's current width and iWindowPosDY is the window's current height.

SETTINGS  FILES  AND  VALUES

Settings Files are the back-bone of The Registry. They store the actual settings (VALUES) for a piece of hardware, piece of software or both (if they are related). Fortunately you do not have to concern yourself with the actual settings files because in normal circumstances you only edit/modify the settings (VALUES) within those files.

In Fig 1.6 above clicking on the NOTEPAD folder displayed the settings belonging to the program called Notepad.exe, in the right window pane, which are made up of the Datatypes DWORD and SZ. Just as you have FileTypes (Video files, Music files, Executable files and so on) for a file, you also have DataTypes (Number or Text) for The Registry settings (VALUES). For example: The type of data (DataType) used in a DWORD is made up of four numbers whereas the type of data (DataType) used in a SZ is made up of a string of text known as a String. These are the two commonly used datatypes but there are others.

DWORD

A Number which is made up of four bytes (i.e 254,12,147,213) that when multiplied/combined result in a 32 bit number. Never mind the technicals of 32 bit number, to you and me it stores a number that hopefully means something. For example: Notepad has a setting called iWindowsPosDX with a value of 300. This refers to the width of the Notepad window. That was a typical use for a DWORD. Other uses include the width and height of something (i.e a photo), the number of colours, the number of users, etc.

SZ

A String Of Text. The value inside a String can be almost anything. They normally contain the name of a company, product, website link or pathanme (location) to a file, but are not limited to these things.

MULTI_SZ

An array of Strings (String array/Multiple Strings) separated by a comma, space or other marking (i.e Red,Green,Blue). String arrays (Multiple Strings) are normally used to store multiple choices - Software programmers use them to give the user multiple choice options (i.e pick a colour, choose from the following options, etc).

BINARY

Raw Data that is normally only used by the software programmer. In normal circumstances you would not mess around with these values as their meaning is usually unknown to the user. For example: A binary value of 3,20,87,234,182,103,24 would probably mean nothing to me or you, but to a software programmer it could be your software preferences, something to do with software registration or whatever.


As said. There are other datatypes but you should never need to edit/modify them, as a beginner or advanced user, hence why I have not mentioned them.

CHANGE  A  VALUE

To change the VALUE of a setting (file) simply double click on the setting's name (or icon), to bring up the DataType window (i.e. 'Edit DWORD' window), and then use the VALUE DATA edit box to change the VALUE. If you are happy with your modification click on the DataType window's OK button to apply your changed value, otherwise click on the CANCEL button or eXit button to leave the VALUE unchanged. In the example below I have double clicked on the iWindowsPosDX setting, whose VALUE is a DWORD.

Registry Editor Explained

Fig 2.0 - Double click on a setting's name (or icon) to bring up the DataType window

After double clicking on the iWindowsPosDX setting an 'Edit DWORD' window appears, because the VALUE is a DWORD of course, whereby the VALUE initially displayed in the HexDecimal number format; which is an old programmers' number format. If you prefer to see/change the VALUE in Decimal number format (more human looking) simply click on the DECIMAL radio (circle/dot) button, before or after, changing the VALUE. When you have changed the VALUE, click on the OK button to apply it.

Registry Editor Explained

Fig 2.1 - The DataType window, with a DWORD Edit Box for the DWORD datatype/value.

As you can see: Navigating through the registry to find a particular setting is like navigating through a standard Windows 10 folder to find a specific file. Likewise: Changing a VALUE is more or less the same as renaming a file. You are using an edit box in both cases. The real problem with the registry is not navigating through it, but knowing which VALUEs to change.

In the above example I just changed the width of the window for the program called Notepad, so that each time I open Notepad its window will always be 600 pixels wide; until I manually resize it. In other words, the Notepad window will be 600 pixels wide from now on, each and every time I open Notepad. However, as soon as I manually resize the Notepad window to 300 pixels for example Windows 10 will automatically change the VALUE inside the iWindowsPosDX setting to 300; so that every time Notepad is opened from then on, it will open at a width of 300 instead of 600. This means that setting is only good for two purposes - 1) for Windows 10 to remember (save) the size of the Notepad window (when Notepad is closed) and 2) for me to be able to set a fixed window width (as long as I don't resize the window).

The above was a real basic example of editing the registry. In normal circumstances you would navigate to a setting you have seen in a computer magazine and/or on a computer forum whereby they have told you a specific VALUE to change in order to change a particular piece of software or program; normally to make it perform better, but sometimes to disable/enable a certain function/service. This kind of editing is know as Tweaking (see below).

CREATE  A  NEW  ENTRY  (NEW  KEY)

If you ever accidentally or purposely delete a folder (main folder, sub-folder, sub-sub-folder or whatever) whereby you then want/need to recreate it, or if you just want to create a folder from scratch, first identify where you want it re/created. In the next example I will show you how to create a new sub-sub-sub-folder, called John, that will go inside the SOFTWARE sub-sub-folder. So begin this example by opening the SOFTWARE sub-sub-folder.

Once the SOFTWARE sub-sub-folder has been opened (double clicked on), the next step is to right click over it to bring up its context (Options) menu. From there, hover over the NEW sub-menu and select its KEY sub-menu menu-item. Doing so will create a new folder (known as a KEY), called New Key #1, with a default setting inside it called default - Default should not concern you though. It is created inside all new folders (keys).

Registry Editor Explained

Fig 3.0 - Right click over a folder, hover over the NEW sub-menu and then select the KEY sub-menu menu-item.

The next step is to rename the newly created folder (key), which is done in the same way as renaming a normal hard drive folder. Type its name before pressing the ENTER keyboard key to set that new folder's (key's) name; in this case, renamed to John. You can also set the new folder's (key's) name by clicking on another folder (key) or by clicking inside the white space (display area) of the settings window (right window pane).

Registry Editor Explained

Fig 3.1 - Rename the new key (sub-sub-sub-folder) called New Key #1 in the same way as a normal Windows folder

Registry Editor Explained

Fig 3.2 - Press the ENTER keyboard key to set the name of the new key (sub-sub-folder name)

With the new sub-sub-sub-folder (key) called John now created, inside the SOFTWARE sub-sub-folder, a new setting can be created inside it.

CREATE  A  NEW  SETTING

This next example follows in the footsteps of the previous example in that you might want to recreate a setting that has since been deleted, by accident or on purpose. Or you might want to create a new setting from scratch, perhaps because a tweak on a website tells you to. Either way, begin by selecting the folder (key) where you want the new setting to be placed. In this example the newly created, and selected, John folder (key) is where I want to create a new STRING setting called Name.

With the John folder (key) already selected the next thing to do is use the EDIT menu to highlight the NEW sub-menu and then select the STRING VALUE sub-menu menu-item. You could use the context (right click) menu instead. Either way, a new setting of datatype STRING will be created, called New Value #1, which you rename in the normal way (Fig 4.1 below). In this example I will rename it 'Name'.

Registry Editor Explained

Fig 4.0 - Select a folder (key) for the new setting to go inside and then use the EDIT menu to create a STRING setting

Registry Editor Explained

Fig 4.1 - Rename the new setting, called New Value #1 by default, to something more meaningful.

After renaming the setting, to Name in this case, you then need to double click on it in order to change its default value, currently a blank string, as shown at the beginning of the SETTINGS FILES AND VALUES section above. In this example I will change the blank string value to 'John Cairns'.

Registry Editor Explained

Fig 4.2 - Double click on a setting and then enter a VALUE for it

Registry Editor Explained

Fig 4.3 - More settings (values) added - Practise on a redundant folder (key) if possible.

You can keep doing the above, adding new settings and new keys (folders), to build up folders (keys) with personal information in them, programming information (i.e. software settings) in them or whatever. As said, a website may of suggested adding a new specific key (folder) and settings as a registry tweak. Above I have since added Age and Location to the John key (folder) and created other keys (sub-folders/sub-keys) within the John key (main folder/main key). You create sub-folders (sub-keys) by selecting the main folder (main key) first. So I clicked on John and then used the NEW >> KEY menu-item. To delete a key (and its contents) or just a setting simply select it and then press the DELETE keyboard key.

TWEAKS  AND  REGISTRY  CLEANERS

Now you know the structure of The Registry, and with the above said, you should begin to realise what Tweaking programs do and what Registry Cleaners do.

Registry Cleaner

A Registry Cleaner looks through the registry (folder) structure to try and find redundant/leftover (no longer used) entries (sub-folders and settings). It identifies redundant/leftover entries in a manner of ways. To delete an unknown sub-folder, belonging to a new mobile phone software for example, it would have to carry out checks. Is the mobile phone plugged in (in use)?. Is the mobile phone software installed? Has a newer version of the software been installed without deleting the older version's entries, thereby leaving fragment/leftover entries. And so on.

A good registry cleaner does a thorough job of checking before deleting anything from the registry, whereas a bad registry cleaner deletes something it does not understand. Especially if it is trying to be too clever by claiming it can clean everything. For example: A bad registry cleaner might not of been updated with information on a new file format or the way a new piece of software creates registry entries, therefore it might think the new software's registry entries are bad/alien/virus/etc registry entries. A good registry cleaner on the other hand is one that has an update/database feature - The programmer keeps the registry cleaner informed of new software and its registry habits for example.

Registry Tweaks

A Registry Tweak is basically an edited/modified registry entry that improves the performance/functionality of a piece of hardware and/or software. A Tweak program goes through the registry editing/modifying certain settings in order to make claims that it has improved your modem speed, Windows 10 start-up time or whatever. Just as you have good and bad registry cleaners you also have good and bad tweakers. On the bad side they can tweak the wrong setting(s) and end up crippling Windows 10 and/or a piece of hardware/software. On the good side they can improve things such as performance, but only by a small percent in general.

A Registry Tweak can be performed in three ways. 1) By a program internally programming (modifying) registry entries (settings and/or values). 2) By manually editing/modifying one or more registry entries (settings/values) yourself (as above). Or 3) By creating/using a file, with the file extension .reg, that has the edits/modifications already inside it. For example: If I want to edit the Notepad setting iWindowsPosDX, I can manually edit it as explained in the SETTINGS FILES AND VALUES section above or I can create a .reg file that does the same job without me having to touch the registry entry manually (which is a little advanced for the beginner - If you do want to know how to create a .reg file though, which I encourage you to learn, here is an excellent article to learn by: How To Create A .reg File).

Registry Editor Explained

Fig 5.0 - An example of a .reg file that changes the Notepad settings when executed (double clicked on)

As you can see: My example registry file is only a text file created in Notepad. Instead of saving it as Notepad Settings I have saved it as Notepad Settings.reg. You can also see that its setting names match those in Fig 1.6 above. If I wanted to re-edit the values I would simply re-edit them using Notepad before re-saving the file as a .reg file (i.e. Notepad Settings.reg or Re-Edited Notepad Settings.reg).

Once the .reg file has been created and saved you simply double click on it, from the folder where you saved it (i.e. inside the DOCUMENTS folder), and then answer YES to the UAC Security Requester that appears (not shown here) in order for the Tweaks (edited/modified settings) to be imported/merged/applied into the registry.

Registry Editor Explained

Fig 5.1 - Double click on the .reg file to continue

Registry Editor Explained

Fig 5.2 - Click on the YES button to continue

Registry Editor Explained

Fig 5.3 - Click on the OK button to continue

If you look on the internet for Windows 10 Tweaks for example you may find manual tweaks and/or file tweaks. In the case of a file tweak simply download the .reg tweak file to your DOWNLOADS folder for example and then double click on it (as above) to apply its setting(s). Manual tweaks (as above also) are slightly more advanced than file tweaks because you have to locate the subkey (sub-folder) and setting, mentioned by the tweak author, yourself. A file tweak does everything for you.


Hopefully the above has shown you that The Registry is not a bad thing that goes around crippling your computer, but is more a case of badly written software crippling your computer - Software written by novice programmers who are unfamiliar with the registry as a whole, for example, who do not take the time to research a tweak (i.e. they know how to code (edit/modify) the registry but do not fully understand what the setting actually does behind the scenes to someone's computer. They may know how to code a 'Speed Up Windows 10' tweak but may not know how the speed-up is achieved.....by forcing Windows 10 to do something it is not really designed to do for example. So the next time you curse Windows 10 for crashing or whatever just think "It could be the Registry Booster/Cleaner Program I have installed".