Registry Edits (or as some call them hacks or tweaks) are often times one of the great mysteries of the WM world that can either totally baffle or flat out scare the bejeezus out of first time WM phone owners, or even sometimes veteran users for that matter. But with a little direction and a few proactive and preventive steps, these fears are more often than not largely exaggerated. Registry edits are cool, useful, helpful, can fine tune / optimize / personalize your phone, or sometimes might simply be important to know how to do in order to fix your phone. Editing the Registry is easy, can be safe, and fun to explore and that is what this article is geared to do.
A lot of registry editing tutorials are really short, expecting the reader to have some experience or knowledge with it already, and assume you already know basically what they are talking about. This article is assuming you have never heard of the registry, let alone what you can do with it. I will show you how to safely backup, explore, and edit your phone's registry. The goal here is to clear up all the urban legends about physically and literally blowing up your phone in a ball of flame, resulting in burning down your house and loosing all of your worldly possessions just by tweaking the wrong thing in your WM phone's Registry... and then to open up a whole new world for you with your WM phone.
First thing's first: What the Heck is the Registry??
First of all, please note that due to how complex the registry is under the hood, that I have taken some liberties in simplifying some of the terms and definitions. In other words, from a programmer's point of view, I am not going to be completely accurate or comprehensive. But from a user's point of view who simply wants to edit their WM phone's registry to stop their Bluetooth LED light from blinking and annoying the heck out of them, it is perfectly accurate info.
WikiPedia has a pretty good definition of what the Registry is:
The Windows registry is a directory which stores settings and options for the operating system for Microsoft ....Windows Mobile. It contains information and settings for all the hardware, operating system software, most non-operating system software, users, preferences of the (Mobile Phone), etc. Whenever a user makes changes to Control Panel settings, file associations, system policies, or most installed software, the changes are reflected and stored in the registry.
For a real geeky detail explanation of what the registry is go here: http://support.microsoft.com/kb/256986
Now that you still don't have a clue what the registry is, let me try to explain it. Think of the registry as a single file that holds nearly every possible setting for your phone, the WM OS, any software or game installed on the phone, etc. Think of it as a single file that basically tells the phone who it is, what it has on it, and how to do everything you want it to do. Think of it as just one big file with all the settings for your phone (the hardware), the Operating System, and the software installed. So for example, if you wanted to keep the keyboard backlight to stay lit for 60 seconds instead of only the highest option available of 30 seconds in the settings, you can go into the registry and change it to 60 seconds yourself.
So no matter what you call it, registry edit, tweak, or a hack, you are simply just changing a setting on your phone. That's it. Nothing more.
Editing the registry is officially and traditionally considered a task saved for power users only. But with the instructions and tools in this article this wonderful tool can be opened up to anyone with a WM device.
Safely editing your registry
Not to scare you off from having fun with the cool suggestions in this article, but now before we get started is the perfect time to address the fears of blowing up your phone with editing your registry... look at the reality of any possible risks, and how to restore your phone to its previous state no matter what you do. The two main fears that new users have when starting to look into the registry is:
1) Fatally killing your phone forever
2) Losing all of your personal information without ever being able to get it all back
Both of these are valid... but only to a point. As you will see below, you can stop your phone from working by editing the registry, but this can usually and easily be fixed by a doing a hard reset. The second is not a major concern either, as long as you have a current backup, which is easy to do.
The Reality of your possible risks
It is important to know that if you are editing the registry and it is done carelessly or without a few simple precautions, you can easily stop your phone from working and lose all of your personal data. In a case like this, you have more than likely not "bricked" your phone, but have caused an error where it cannot run "as is" with the changes you made, but it will run again as soon as you do a hard reset. A hard reset changes it back to as if it just left the factory. In other words, the phone will work just fine again, but none of your personal information or software you installed will be on the phone any longer.
The bottom line is that when playing with the registry, you should always be able to hard reset the phone to wipe out any bad errors you may have caused, but in the process wipe out your personal information as well. So in reality, for the most part, the only thing at risk is your personal information, settings you have changed, and software you personally installed, which is really easy to backup and restore so you can have it all back again.
I guess for liability sake, I have to say to "proceed at your own risk" as Murphy's Law often times proves, anything can happen no matter if it is likely or not. Beyond urban legend reports of someone posting that they heard from their best friend's wife's manicurist's dog walker's cousin's mom, who is a totally reliable source that works at a Sprint's independently owned mall outlet in Backwater, WY that they saw a phone another Sprint rep was working on that was totally bricked because the customer edited the wrong key in the registry... I have personally not seen a situation where a hard reset cannot fix a registry edit (and I know someone somewhere is going to point out where and why I am wrong about this). Basically put, you should be able to recover from nearly any published and verified registry edit with no real worries beyond having to do a hard reset and restore you latest backup.
So again, if you do make a change in the registry that stops your phone from working, then there are two simple steps to get it working again:
- Do a hard rest on your phone (see the manual for your phone to see which buttons you need to push while you use the stylus to hit the reset button)
- Restore your latest backup with all of your personal information and settings
That's it. These two steps are the worst that you should face. No balls of flames... no eternal paperweights.
Safe steps to take when editing the Registry
There are two points of advice I will always give to anyone when tweaking their registry.
The first is to not just go around in the registry and start changing settings willynilly just to see what happens, as you will get unexpected and sometimes fatal results, but instead to stick only with published tweaks that have been posted in articles, proven to work in forums, or found in books. There is always a percentage that will stand out as exceptions, but with most of these published and verified tweaks, even if you accidentally enter in the wrong setting, you can still just go back in and correct it. No harm, no foul.
My second point of advice is a strong one... no one, no matter how experienced, should ever touch their registry without doing this step first! That is to do a complete backup each time before you edit your registry to make sure that all of your latest settings and personal info are saved and ready to restore at anytime for any reason. Sprite Backup or SPB Backup are the two backup programs I personally recommend.
This is absolutely the single, hands down, MUST HAVE software! There is nothing more frustrating (or heartbreaking) than when you just got your phone all set up just like you want it, and you have all your contacts entered, all your games installed, all the registry tweaks are just the way you want them... and then... tragedy strikes and for whatever reason, you are forced to do a hard reset on your phone wiping out all your changes and bringing the phone back to the same state as if you just opened the box for the first time. Either backup program will work fine. It is often times more of a personal preference vs features. I personally use Sprite Backup.
Generally speaking, whenever you open up a window that has any options to adjust any settings, this is simply a visual and simple interface to making a registry edit (think of it as a mini registry editor). So for example, let's say that you wanted to change your phone number in the Owner Information for your phone. You could open up a registry editor, navigate to the correct spot where the owner information is stored in the registry, open up the correct Key, change it to your new phone number, and save it (you will be able to do this BTW by the end of this article). Or from the Today Page on your phone you could simply click on Menu / Settings / Personal / Owner Information. Then when the window pops up with all of your contact information, you change the phone number and click save. Either way, you did the same thing... you changed a setting in the registry. So, little did you know that you have been doing Registry Edits all along on your phone, but never even realized it!
But to give you a real opportunity to browse all the settings in the Registry, then you will need a Registry Editor. There are loads of them available ranging from free to around $30. As with anything, some are better than others. Below are is probably the popular free and pay for registry editors.
My personal favorite and the one I have used for the last several years is the Resco registry editor included in Resco Explorer 2007. The cool thing about Resco Explorer 2007 is that is also includes THE best file manager for WM, built in picture viewer, encryption to protect your personal information, networking browsing, supports ZIP compression, and has an FTP explorer. It also gives you the advantage of drag and drop options along with multiple selection. This is a MUST HAVE software application for any WM phone, IMHO. In fact, look for my in depth review of this product in the very near future at WMExperts.com. When giving step by directions I will be using Resco Registry Editor.
The best Free Registry Editor is PHM Registry Editor:
Registry Tweak Programs that do it all for your
There are also programs that when you open them up, they look just like settings in WM. It puts a safety net in between the user and the registry. You change anything you want and it will edit the registry in the right spot for you. This is by far the safest (and fastest) way to do the most common and the most popular registry edits without even getting your hands dirty. If you are really intimidated (or too lazy to do it yourself) then this is a great solution. If this is the way you want to go, you don't even need to read any further as the rest of the article shows you how to do what these programs do all by yourself. The downside to these options is that you are limited to only the registry edits that they offer. Tweaks2K2 is a good (and very popular) example of this.
.......PSSSTTTT.....even if you are using a program like Tweaks2k2, please always do a full backup before using it!
Understanding the Structure of the Registry
Now for those that want to learn how to edit the registry themselves, let's dig in. In order to follow someone's direction of where to find a setting to change in the registry, you will need to know the basics about how the registry is organized and some basic lingo (i.e. subtree, key, subkey, or value). So this is the only time that we are forced to get really geeked up in this article.
What's all that now?
Okay first of all, there a few words that we need to make sure everyone understands so that we are all talking on the same page. Here are some basic terms and what they mean:
This is where you start. The registry is divided up into 4 different sections called Subtrees. As far as navigating around, you could think of these as different hard drives on a PC.
A key is a general area in a subtree. You can think of this like a folder on a hard drive.
This is basically the second layer down in a key. You could think of this like a subfolder.
|value||A value holds a specific setting in a subkey. Think of it like a file. This is what it is all about... getting to the value of a key or subkey to change its setting. There are several different type of values, i.e. Dword or binary. You usually do not have to worry about this when editing values are already in the registry, as they are already assigned as the appropriate value type.|
The location of a value. See below for the format of writing a registry address.
How the registry is organized
This is only important in this article with the eye of being able to navigate in the registry and how to find a specific value (or setting) that someone shares on a forum, article, or book.
The registry is organized in a tree structure. When you look at the registry in a Registry Editor, it looks very similar to what your PC looks like when looking at it with Windows Explorer. You will always start with one of the 4 subtrees when trying to find a value to change in the registry. Here are the subtrees that are in the registry:
Contains all the actively loaded user profiles on the computer.
HKEY_USERS is sometimes abbreviated as "HKU."
Contains the root of the configuration information for the user who is currently logged on. The user's folders, screen colors, and Control Panel settings are stored here. This information is associated with the user's profile.
This key is sometimes abbreviated as "HKCU".
Contains configuration information particular to the handheld (for any user).
This key is sometimes abbreviated as "HKLM."
The information that is stored here makes sure that the correct program opens when you open a file by using Mobile Explorer. Most registry edits are in the other three subtrees
This key is sometimes abbreviated as "HKCR."
Navigating the Registry
Phew... now we got past that part, let's show you how to navigate in the registry. It is really pretty easy. As I mentioned above the registry is organized in a tree structure, much like hard drives and folders are organized on a Windows PC. There are two ways to go to the value you want to change. You can drill down in the tree structure (folders) to find it... or you can do a search and jump right there, if you know exactly what the name of the subkey or value is.
.......PSSSTTTT.....before we continue did you remember to do a full backup?
Navigate to a Value
First of all let's show you how to actually navigate on your own to a specific value. Most of us have seen how we might write a location of a file on a Windows PC. You first put the hard drive (subtree) followed by a folder (key) followed by a subfolder (subkey) followed by the document name (value) with each part separated by a backslash "\". It might look like this "C:\My Documents\Work\Expense_Report.xls". It is exactly the same with a registry address as well. You put the Subtree (think of C:\ or D:\ on a PC) followed by a Key (think of folder) followed by a Subkey (think of subfolder) followed by the Value (think of file) with each one separated by a backslash "\".
For example to change the startup homepage for Windows Mobile Internet Explorer in a registry editor you would go to "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page" and change the website address to what you want, i.e. "http://www.WMExperts.com". This is really easy as when you first open up a registry editor you will see the 4 Subtrees. In this example you will see a + sign next to the Subtree called "HKEY_CURRENT_USER". Simply click on the + sign. Now you will see a list of Keys (folders). Scroll down until you see "Software" and just like before click on the + sign. Then scroll down until you see "Microsoft" and.. you guessed it... click on the + sign. Now scroll down until you see "Internet Explorer" and click on it. Now in the window below that you will see the value (file) called "Main". Click on it to open it. After it opens then simply type in the homepage you want your Mobile Internet Explorer to start with, i.e. "http://www.WMExperts.com" and click save or done. That's it. You just edited your registry. It is that easy.
Now I want to walk you through one more very popular registry edit with screen shots for every step of the way. I will be using Resco Registry Editor for this example. This registry edit is called GlyphCache... why they named the subkey that is beyond me, but what is important is that this tweak can greatly speed up how fast your phone runs and responds! This is often times the very first registry hack that veteran WM users will do when they first buy a new WM phone. Here is how you might see this registry edit spelled out in a forum, book, or article:
Browse to HKEY_LOCAL_MACHINE\SYSTEM\GDI\GLYPHCACHE\
You can change the "limit" value :
4096 : this will slow down the display, but use less memory (default setting on Palm-size PC)
8192 : this is the default value on Pocket PC, average memory/performances
16384 : this will speed up the display, but use more memory, twice the default Pocket PC value
What this means is that we need to navigate to "HKEY_LOCAL_MACHINE\SYSTEM\GDI\GLYPHCACHE\" open up the value called "Limit" and change the setting to either "4096", "8192", or "16384" and save it.
Okay, now this is how to actually do it. Once you open up Resco Registry Editor, you will see all 4 of the Subtrees.
Click on the + sign next to "HKEY_LOCAL_MACHINE". And you will see the keys expanded below it.
Now in the top window, scroll down until you see "System" and click on the + sign so that all the subkeys are expanded out below it.
Next scroll down until you see the subkey called "GDI" and click on the + sign to expand it out as well so that you see "GLYPHCACHE" and click on it.
Now with the "GLYPHCACHE" selected, look at the bottom window and you will see the value called "Limit" currently set to "8192".
Click on the value called "Limit" to open it up. Do not change the name of the value, but do change the number to either "4096", "8192", or "16384" (hint... the more RAM your phone has, the higher the number you want to choose) and click "Done".
That's it. You just did yet another registry edit. If you find the number you chose actually slows down your phone, then follow these steps again and choose one of the other numbers until you find the one that is best for your specific model of phone.
Search for a value
Now if you know the exact name of the value (setting) then you can do a search for the value instead of drilling down to find it. This is also very helpful if you know the name of the value, but do not know what key or subkey it is under. So, let's do the exact same registry tweak as above, but this time let's find it by searching. First, click "Menu" and then "Find".
In the search window, type in "glyphcache".
Click on "Done" and it will start searching the registry...
If it does not find the exact value of the subkey you want, then click on "Menu" and "Find Next". Repeat as needed until it finds the one you are looking for.
Once it finds the value or subkey you are looking for, in this case "GLYPHCACHE" under the subkey "GDI", click on "GLYPHCACHE" and look at the bottom window and you will see the value called "Limit".
Click on the value called "Limit" to open it up. Do not change the name of the value, but do change the number to either "4096", "8192", or "16384" (hint... the more RAM your phone has the higher the number you want to choose) and click "Done".
Now you just did a registry edit by drilling down in the registry tree and by searching for it.
Getting ready to move on to the next one
Above is a pretty good example of how most registry edits are done. Some registry tweaks will require that you change two or more values. Just repeat the above steps for each value you have to change.
Some registry edits will require you to add a value. I would recommend that you only do this after you have had experience working with the registry. There are several different kinds of values and you have to make sure you have the right one, and with all the right settings. This is beyond the scope of the goals of this article.
If you feel a registry hack is too complicated for your comfort level, no worries, just skip it.
.......PSSSTTTT.....again, before we continue did you remember to do a full backup?
Good Registry Edits to Start With
When looking at registry edits posted on forums, on websites, in articles, or in books, it is important to know that some of them are specific to a version of WM (i.e. only in WM 03) and that some are specific to a certain model of phone (i.e. Treo 700wx). Normally, when this is the case, this information will be posted with the registry edit, but if not and you try to find it on your phone and the value you are looking for is not there, then there is a good chance this is why. Just move on to another registry tweak.
After you make a registry edit, some of them will not take effect until after you do a soft reset with your phone. This is basically just rebooting or restarting your phone. On most phones you take the stylus and stick the tip into a small hole on the bottom or edge of the phone for 1 second.
Special note for Registry edits & soft resets WM 05 & WM 06
Due to the way WM 05 & WM 06 manages its memory, the registry changes do not get saved or applied to the phone for several minutes after you make the changes. If you need to do a soft reset using the reset button, you should wait several minutes to make sure that phone saves the recent changes. If you reset using any one of the various software reset utilities available, it will commit your changes to storage. In short, if you reset using the reset button shortly after making registry changes, then you will keep seeing your changes being undone unless you wait a while for the changes to have a chance to be saved. If you must know more, you can look here for a little deeper explanation why this happens.
Where do I find all the good registry edits?
You can do a Google for PocketPC, Windows Mobile, or WM as the first word, along with hack, tweak, or edit in your search query. But the best place to look is in forums for your specific handheld. Do a search with any combination of reg or registry with hack, tweak, or edit. Most forums for a specific phone will usually have one thread that has become THE registry edit thread with several other smaller ones with some great tweaks in them too. You can also look in threads for other phones with your same WM OS. For example, if you have a WM 03 phone, most any reg hack thread for any WM 03 based phone will work. As a side note a lot of the reg hacks for WM03 will work with WM05 & WM06, but certainly not all of them. But as a general rule, all of the WM05 reg hacks will work with most WM06 phones just fine.
Here are some great places to get started:
- WM05 / WM06 Registry Edits
- PocketPC Tweaks
- Some great New Reg Tricks
- Reg Tweak: Enable Power Management to save battery life
- WM5 / WM6 Tweaks
- Wiki Registry Hacks
- Windows Mobile Registry Hacks, Part 1
For those with that need to scratch that itch on the geeky side of their nature, here are some real in-depth articles on the Windows Registry giving you more information than you ever wanted to know (or could stay awake long enough to read through). Even though these focus on the registry for Windows for the PC for the most part, much of the information applies directly to the registry on WM as well:
So! What are you favorite Registry Edits?