Registry Commander Changes | 2015 Feb 15
----------------------------------------
- Fixed an issue with sorted bookmarks. Any action done when a list was sorted, would not act on the correct item.

Registry Commander Changes | 2015 Feb 13
----------------------------------------
- The default icon library is now the internal icons, and not "default.icl". This means there will be no warning message when running without any ICL files.
- Added a confirmation dialog for when bookmarks are being deleted. To avoid confusion, the dialog will inform that only bookmark entries are being deleted, and not any actual registry database keys or values.
- The value type selection dialog will now resize itself, to avoid showing scroll bars no matter what UI theme or font size is being used.
- Added keyboard shortcuts to some of the items in the Main menu without one.
- The INI settings file is no longer named "config.ini", but will have the same name of the main EXE file, but with an INI extension. So if the EXE file is renamed, it will use a different INI file.
- Less flickering when resizing the window or adjusting the bookmark panel height.
- New icon library, "squares". It features square icons of various low saturated pastel-like colors. Icons are from the famfamfam silk icon set.
- Reordered the bookmark columns, so that the item name is first.
- Bookmark can now be sorted. To return to an unsorted state, sort by index.
- Added a sort indicator glyph for both listviews.

Registry Commander Changes | 2013 Feb 23
----------------------------------------
- Bookmarks are now saved entirely as raw text, this makes it a lot more simple and easier to edit manually. Old bookmark files will automatically be converted. This also fixes the 256 string length limitation the old format had.
- It is now possible to copy the current path and current path URL to the clipboard from the main menu.
- Left clicking on the path header will no longer copy the path to the clipboard, but will instead show the history list.
- New option added to the configurations dialog, which lets you remember the history between sessions.
- Selected sound file now also plays after full registry export.
- The "Entire Registration Database" search scope will now only search HKEY_LOCAL_MACHINE and HKEY_USERS. All other roots are just subkeys of these two roots.
- Search window position and filter settings are now saved between sessions.
- Each section of the search dialog now has a shortcut key associated with it.
- The type formatting for keys now supports the "%T" option, it will display the last modification time using the long date & time format. The already existing "%t" uses the short date & time format.
- Initial font setting is now defaulted to the system font instead of "Tahoma".
- The value type formatting for hex values "%h", has been added a second formatting method in the form of "%H". Lower case "%h" will format the hex values in lower case (a..f), "%H" will be upper case (A..F).
- Optimized the speed and memory usage of the hexadecimal formatting display type (%H and %h).
- Rewrote the key and value enumeration loop, both for the main window, but also for the search dialog. It should now be using less memory, and hopefully be a little faster too.
- Open and save dialogs are now using a modern style look.
- Fixed an issue with no type icon for bookmark items that were of a non standard registry data type.
- It's no longer possible to incorrectly search the current key or root while in root mode. Select specific root key or entire registration database.
- The current root handle is now stored in the "config.ini" file as a string, rather than the integer value. This makes it consistent with the rest of the program, and also makes it easier to edit manually.
- The bookmarks listview no longer flickers when items are being added during an active search.
- Added an option under the Visial tab of the configurations dialog to change the icon library used. This changes the icons used to identify each registry data type. If you create a custom ICL, feel free to send it this way.
- When the icon library loaded from the "config.ini" file does not exist, a warning is shown, and the icons are loaded internally instead. Go to the options to pick a valid icon library.
- Fixed a pointer error when saving hex value data from the edit value dialog.

Registry Commander Changes | 2012 Jan 24
----------------------------------------
- Completely redesigned the search dialog. Each category now has a colored header. Black headers mean this search type is disabled, red headers mean invalid parameters, and green means valid parameters.
- When doing a search, the option to scan a data's value for the specified keyword, is now disabled by default. This was to reduce the search time, as this feature about doubles the time a search takes.
- Search result bookmarks are now updated in the list as they are found.
- Rewrote the registry export function, not only is it much faster, but it also allows for multiple keys to be exported at once.
- The main menu now has a "Bookmarks" menu item. All relevant menu items have been moved to here.
- The feature to export the entire registry database has been added under the Main menu item. This will export HKEY_LOCAL_MACHINE and HKEY_USERS.
- Removed the Key Tree, as I'm not happy with its implementation. One day it may return, but in that case, it will be as a docked list in the main window.
- If you're holding down shift, while entering/double-clicking a key, it will start up a new session of Registry Commander from that key.
- Reverse sorting added. Click twice on a listview column header to toggle reverse sorting.
- The options menu now has a "Toggle 64-bit Mode" menu item.
- Better error exceptions for when doing actions in places with no write access.
- The value data edit dialog can now be resized.
- The default formatting for an unknown data type is now the same as for the "None" type, instead of just being "%h", which couldn't be configured.
- Fixed: If focus was lost during an item rename, no rename was actually done (as fixed in last release), but it would still have the visual bug of changing the caption of the listview item.
- The search filter for data type will no longer incorrectly match those rare types with a high ID above REG_QWORD (11).
- It is now possible to change the data type of more than one value at a time.

Registry Commander Changes | 2012 Jan 14
----------------------------------------
- No longer reads the registry in full write access mode. It leaves that for when you have to delete or modify values. This also fixes some rare access rights issues.
- Finally supports the mouse side buttons for going back and forth. That is MOUSE4 & MOUSE5. About time!
- All new icons in the menus. Most are from the "famfamfam mini icons" set.
- Fixed keys having a forward slash in their name, being interpreted as a path delimiter in certain parts of the code. Registry paths do not have restrictions on the use of "/" like file folders.
- Fixed bookmarks having their type shown under the comment column, if they had no comment set.
- Fixed a bug in the key enumerator, caused by not forcing RegEnumKeyEx() into returning ERROR_NO_MORE_ITEMS.
- Just like all the data types, it is now possible to customize the type format for keys as well.
- Removed the Key/Value Information dialog, as it didn't show anything that couldn't already be seen elsewhere.
- If you're running a 64-bit version of Windows, the option to read the 64-bit registry is now on by default.
- Icons of data types, keys and updir can now be read from an Icon Library. Set the ini key "IconLibrary" under [General] to make it read anything else but the internal icons. Refer to the readme.txt section for more info.
- Removed the "Cut/Copy Bookmarks", it is now only used internally, and not exposed to the user.
- The header will now display whether you are reading the 32 or 64-bit registry.
- The feature to connect to a remote registry should now actually work, it will currently let you browse the "HKEY_LOCAL_MACHINE" root.
- New search feature added, which allows you to "Find ShellNew Keys". The entries found using this, will be the one shown in the shell context menu's "New" list.
- Fixed an endless loop error which happened if you deleted the last subkey and or value within a key.
- Using the Alt+F10 shortcut for the popupmenu, will now properly position the menu under the selected item.
- If focus is lost while renaming a key or value (e.g. by Alt+Tabbing), the rename is now aborted.
- While renaming a key or value, the popup menu is disabled. This is done to suppress the shortcuts and allow for less problems while renaming.
- Ctrl+W now exits Registry Commander, just like Alt+Q does.
- Fixed an issue caused with the option "Re-read key when the program regains focus", while being prompted for an action. E.g. If you were to mark a few items to delete, alt+tab away, then return, the selection would change due to this option, and thus deleting the wrong files when you answered the prompt.
- It is now possible to copy and paste a value into the same key. In this case it will just create a "Value - Copy #1" instead.

Registry Commander Changes | 2010 Apr 24
----------------------------------------
- Reading of 64-bit registry data has now been fully implemented. Use the shortcut Ctrl+D to toggle between 32 and 64 bit reading mode.
- Added "Select All" and "Select None" buttons to the data type selection dialog.
- Fixed "List index out of bounds" error for empty string values.
- Cleaned up the code slightly.

Registry Commander Changes | 2009 Dec 08
----------------------------------------
- Been a long time since I worked on this program, version 1.05 was never released, but I decided to start anew. I will no longer uses version numbering, but instead label them with the date of release.
- The helpfile has been removed in favor of the more simple text file "readme.txt".
- Included XP Manifest to support the use of Visual Styles.
- Fixed some issues with access rights, which for some keys meant that certain parts of Registry Commander didn't work properly.
- Support of the "KEY_WOW64_64KEY" flag, which means 64-bit registry keys can be read. You can toggle this setting from the option dialog.

Registry Commander Changes | 2004 Apr 04 | Version 1.05 (b3090)
---------------------------------------------------------------
- Configurable colors that are stored in the INI file, are now saved as hex.
- Fixed a bug that caused access violence if you dbl clicked outside an item in the bookmark dialog.
- The splitter between the main and the bookmark listview, is now saved as percent to avoid it getting hidden when the whole window is resized.
- You can now use two percent signs in the type format, to output 1 percent sign.
- A new string, expanded string and multi string are no longer created as zero length data, but rather an empty string.

Registry Commander Changes | 2003 Dec 22 | Version 1.04 (b3054)
---------------------------------------------------------------
- There were some issues with the security access parameter, I had specified in the registry API functions calls. This resulted in some keys that couldn't be read. Anyway, it has been fixed now.
- Improved the speed of the "Export key" function a lot!
- New item in the right click menu named "Key/Value Information". This dialog will show misc. information, e.g. CRC-32 checksum of the value data.
- Added an experimental option under the general tab, named "Enable reg:// Protocol". This will allow a string such as this one reg://HKCU/Software/Microsoft/Windows/ to open Registry Commander in the specified key. This link will of course not work if the option is disabled, which it is by default. This works the same way as http:// or ftp:// does. This feature is very nifty, you can create link to the registry directly from an html file.
- The new type format %e, expands environment variables contained within a string. This type format is now default for the REG_EXPANDED_SZ data type.
- Passing a registry path as a command line parameter, didn't work entirely the way it was intended to do, this has been corrected, it even supports forward slashes.
- When the registry root list was active, the item counter in the "Current Key" panel was one to low.
- Added an option to list data type name as constants (REG_SZ, REG_BINARY) in the listview. If unchecked they will be shown normally (String, Binary).
- The root list status is now saved to the INI file, so if you exit Registry Commander in the root list, it will start in the root list again.
- If the window was resized while the root list was active, the last key before entering the root list was written on the "Current Key" panel.
- Decreased the width of the value edit dialog, so it only contains 16 bytes per line in hex mode.
- Made some more speed improvements, this time in the value edit dialog when saving the data both to a file, and back to the registry.
- The different search filters now uses AND operator instead of OR. This means all checked filters must return true, before it's added to the search result.
- Added a default Windows color button to the visual tab in the configuration dialog.
- The buffer used to store registry data when retrieving values, was not set to all zeros. This could be a problem if for instance a 2 byte binary value was changed to a DWORD, the upper 2 bytes in the 4 byte variable wasn't written and could contain random data.
- Added two more type format strings, %u and %U, which will be replaced with and 32-bit unsigned integer. I've also changed the default format string for DWORD to use %u instead of %i, this is more correct since a DWORD is a 32-bit unsigned value.
- The function complete sound wasn't played asynchronously, which means that the program didn't respond until the sound playback ended. This has been fixed.

Registry Commander Changes | 2003 Nov 27 | Version 1.03 (b2857)
---------------------------------------------------------------
- You can now control the format of the value data shown in the listview. The tab "Type Format" in the configuration dialog, contains an edit field for each data type, by editing these, you control the output.
- Pressing Ctrl+R in the "Key Tree" dialog will refresh the tree, and allow new keys to be displayed.
- Added a notify sound, which is played after some functions, e.g. after a search has completed. You can choose what wave file to be played, in the configuration dialog.
- Fixed a very nasty bug that caused stack overflow in the search function. This could occur if RegQueryInfoKey() returned a pcbMaxSubKeyLen of zero, even if it was not. Am I looking at a bug in the Windows Registry API here? What I do, is to allocate a buffer with the size pcbMaxSubKeyLen+1, with the pcbMaxSubKeyLen of zero that leaves our buffer with a size of 1, not enough to store a key name, therefore all subkeys within this key would be reported as an empty string, and the search routine would go into an endless loop. If anyone could elaborate on this, I'd be very happy to listen.
- New option added in the configuration dialog, called "Re-read key when the program is focused". By enabling this option, the current key is automatically reread when it receives focus from another program, for instance tabbing between programs.
- When you type in a registry path, you *must* use backslashes to divide the keys, in previous versions it was acceptable to use forward slashes as well. This was changed, because it was impossible to open a key, which had a forward slash in its name.
- Fixed an error in the "Export Key" function, that in certain cases would save binary values, in a format that RegEdit wouldn't recognize and couldn't import.
- Changed the names of the bookmarks. "Bookmarks -> User Bookmarks", "Search Result -> Search Bookmarks" and "Copied Items -> Cut/Copy Bookmarks". This has been done to make it clearer, that they are only bookmarks, not real registry entries.
- The new functions "Find AutoRun Values" will list all values in HKEY_CURENT_USER and HKEY_LOCAL_MACHINE under Run/RunOnce/RunServices/RunServiceOnce in the key Software\Microsoft\Windows\CurrentVersion\ in the Search Bookmarks.
- The "Key Tree" has been moved to the new "Tools" menu item.
- The added "Rebuild File Associations" function is very neat, if you manually have changed a file association or default icon under HKEY_CLASSES_ROOT. It will tell Windows to rebuild its associations, so the correct icons will show.
- I changed the way in which "Key Tree" scans the registry keys, this has made it a lot faster than in previous versions.
- Rewrote the routine that deletes keys recursive, this fixes a problem, which only occurred on Win2k/XP. The reason is that you are not allowed to delete a registry key, on NT based systems, if it contains values. Previous versions had some problems doing this correct, because it didn't get all the values removed prior to the deletion of the keys.
- Increased the data import blocksize to 32kb, compared to the previous versions, which only allowed 16kb. This was done, because someone notified me about a Microsoft support article, which required you to import a file into the registry, which was larger than 16kb. This was somewhat funny, since I read in the Microsoft SDK that data above 16kb should be stored in a file, and not in the registry, bah never trust Microsoft.
- Showing the root list by pressing F12, wouldn't always draw the items from the top of the listview.
- If you run a Windows NT based system, the write time of a key has been added to the key information.
- Moved the "Value Data" column to be the right most column. It fits better this way I think.
- Cut, Copy and Paste now works when you edit the name of a key or value.
- Added the support for QWord; REG_QWORD is defined as 11. Its icon is light blue.

Registry Commander Changes | 2002 Jun 07 | Version 1.02 (b2284)
---------------------------------------------------------------
- By pressing [F12] you can show all the roots directly in the listview, it can also be accessed through the Show menu. If you're in a root, you can press [Backspace] or [Ctrl+\] this will also show it. You can still use the [Alt+F1] shortcut to show a popup list of them.
- You can now change the font in the ListViews from the configuration dialog.
- The Jump to Path function [Ctrl+G] can now jump to more places, meaning that you can specify two dots (..) to jump to the parent key, and backslash (\) to jump to the root.
- You can show the full size of values in a key by pressing [Space] over one, or for all keys [Shift+Alt+Enter].
- Integrated the bookmark dialog into the main window, why didn't I do this in the 1st version, duh!
- Added a "Connect Registry" item in the File menu, it doesn't work correctly, but if any tries it out I would really like to know the result it shows, since I haven't got any network myself.
- Found another place in the code where I forgot to call RegCloseKey, so it should be more kind to Windows now!
- You can now Copy [F5] and Rename/Move [F6] both keys and values to a specified name or key. This works a bit like the cut/copy to clipboard function, except that it does it immediately you do not have to paste afterwards.
- Some shortcut keys has been changed, refer to the shortcut list.
- Fixed a very nasty bug that didn't preserve the values within a key when it was renamed or moved. I'm really sorry if any of you lost data due to this!
- In the last version I fixed an error that ignored whether or not the "Key Word Filter" option was set. But it still compared the filter to "Key Names" which happened because I simply oversaw this when I made the "Value Names" and "Value Data" options check the "Key Word Filter" option. This has been fixed now!

Registry Commander Changes | 2002 Apr 19 | Version 1.01 (b1468)
---------------------------------------------------------------
- Eliminated an access violence that could occur when you jumped to a non-existing key and RegCmd automatically jumped back to the root.
- Added a dialog that shows a key tree of the entire database, rather slow though.
- When you delete keys and/or values it will try to select the nearest key or value that wasn't deleted, instead of selecting the first item.
- Made it possible to create a new string value with no name (the default value), if you did that before RegCmd said that a value with that name already existed! But because Windows always says that the default value exists, even though it doesn't, it no longer checks if it exists, and it could be overwritten, so be careful when adding a default value!
- You can now export a key out to a .reg file, just like in Regedit. There are some limitations and the function is rather slow.
- RegCmd should try to close more key handles, but it still has some flaws in that area!
- Added help file "RegCmd.hlp" for better explanations.
- Fixed an error where you couldn't delete a key on Windows 2k/XP if it had subkeys (hopefully, I don't have Win2k to test it).
- When writing MultiString values, it will no longer append an extra line.
- Could only load data from an external file if you edited a binary value, not an unsupported type that is edited like binaries.
- When searching, I fixed an error that would ignore that you have unchecked the key word filter option, meaning that it acted like it was checked at all times.
- When cutting keys/values they get blurred out like in explorer.
- The bookmark lister will make sure the selected item is always visible.

Registry Commander Changes | 2002 Feb 02 | Version 1.0 (b1141)
--------------------------------------------------------------
- This is the first version, more functions are to come!