Main page Main page Software Contact us Support us

RegJumper - a command line regedit navigator

RegJumper is a command line registry navigator. Its purpose is to make Regedit.exe select(jump to, make a regjump to) specified by the user registry key or value.
It features:
•   running Regedit in single or multiple instances mode
•   handling both 32 and 64 bit versions of Regedit
•   synchronization mechanism when multiple instances are used
•   logging the output result into file or the default output stream
•   runs on windows 2000 and above, including both 32 bit and 64 bit versions.




Apllication is provided free of charge if used for non-commercial purposes.

RegJumper v1.0, 32 bit, MD5 checksum: 0e8c407c61301fff8f443a27beca1627
RegJumper v1.0, 64 bit, MD5 checksum: c2aa834cfbbf6d477f7094729c6d4dc1
How to contact us:

•   About questions, suggestions, feature requests, bug reports and etc. regarding RegJumper, please e-mail us at:
Dev@MiscSoft.net

•   For obtaining a commercial license, please e-mail us at:
License@MiscSoft.net



Application usage information:

Usage syntax:
RegJumper.exe <switches list>

Switches and parameters used in the <switches list> are not case sensitive.

Command line switches and parameters in alphabetical order:
-AcceptEULA:
Use this to prevent the EULA screen from showing up. BY USING THIS SWITCH YOU AUTOMATICALLY AGREE TO THE TERMS AND CONDITIONS FOR USING THIS SOFTWARE.

-AppendLog:
Specifies that if a log file is going to be used, it should be appended, not cleared upon opening.
By default the file is cleared upon opening.

-Help, ?, /?, --Help:
Application will show the usage information screen. When any of these help switches is used all other switches in the command line are ignored.

-JumpTo=<key/value to jump to>:
Specifies the path to the key/value, which should be selected. The path may point to both key or/and a value. If both key and value, defined by the path, are existing in the registry hive, the key will be selected.
All space characters in the beginning of the path will be cleared. Although space characters are allowed to be used in the keys/values, they are not allowed in the root keys (HKLM, HKCU and etc.). Additionally characters: \, \t (tab), \b (bell), \n (new line) and \r (line feed) will also be trimmed from the path's beginning. When using spaces in the path, do not forget to use quotes or the path will be cut till the first space character in it.
The root key short form is restricted to these keys only:
HKLM = HKEY_LOCAL_MACHINE
HKCU = HKEY_CURRENT_USER
HKCC = HKEY_CURRENT_CONFIG
HKCR = HKEY_CLASSES_ROOT
HKU = HKEY_USERS
If the key/value defined by the <key/value to jump to> is not found in the registry hive, then the application will terminate notifying that the regjump has failed.

-JumpToKey=<key to jump to>:
Behaves like "-JumpTo" described above, but explicitly stating that the path given by <key to jump to> is a path to a registry key. If both key and value, defined by the path, are existing in the registry hive, the key will be selected. If a key with such path does not exist in the registry hive, the regjump will fail.

-JumpToValue=<value to jump to>:
Behaves like "-JumpTo" described above, but explicitly stating that the path given by <value to jump to> is a path to a registry key value. If both key and value, defined by the path, are existing in the registry hive, the value will be selected. If a value with such path does not exist in the registry hive, the regjump will fail.

-LogToFile=<path to file to log into>:
Specifies that the program's text output should be logged into the file specified by <path to file to log into>. Do not forget to use quotes if the path has space characters in it.

-TerminateIfOtherInstanceIsBlocking or -tb:
Application will terminate if another instance of RegJumper is currently preventing this RegJumper to use the eligible instance of Regedit. This check is made only once after the application starts up.
This switch will not have any effect if RegJumper is started with the "-m" or "-UseMultipleInstancesOfRegedit" switch.
By default this switch is not set.

-TerminateOtherWaitingInstances or -tw:
Before making a regjump, application will send termination signal to any instance of RegJumper, which is using or waiting to use the eligible instance of Regedit.
By default this switch is not set.

-Use32BitRegedit, -32Bit or -x86:
Only 32 bit versions of working Regedits will be considered eligible. If no Regedit is currently working a 32 bit one will be started in order to make the jump.
Combining this switches with any of the "-Use64BitRegedit" , "-64Bit" or "-x64" switches will cancel each of them.

-Use64BitRegedit , -64Bit or -x64:
Only 64 bit versions of working Regedits will be considered eligible. If no Regedit is currently working a 64 bit one will be started in order to make the jump.
Combining this switches with any of the "-Use32BitRegedit" , "-32Bit" or "-x86" switches will cancel each of them.
This switch will have no effect on the 32 bit version of RegJumper.

-UseMultipleInstancesOfRegedit or -m:
Starts Regedit in multiple instance mode. Use this switch if you do not want to use any currently opened Regedit windows.
This switch will have no effect if used in versions of windows prior to XP.

-WaitTimeout=<time_in_milliseconds>:
The amount of milliseconds RegJumper will wait for the locked eligible instance of Regedit to be released form the RegJumper currently using it.

When RegJumper finds an eligible instance of Regedit, it prevents other RegJumpers to use it. If any other RegJumper wants to use this instance of Regedit, it will wait until it is released by the RegJumper that is currently using it. If a waiting instance of RegJumper is not able to gain control over its eligible Regedit, within the time specified by the <time_in_milliseconds> value, the regjump will be considered failed and the application will terminate.
When more than one RegJumpers are locked in wait state the next one that will gain control will not necessarily be the first one waiting.
This switch will be pointless if RegJumper is started with the "-UseMultipleInstancesOfRegedit" or "-m" switch.
The default value of <time_in_milliseconds> is 3000 (3 seconds).

If none of the switches above are used in the <switches list>, and the list is not empty, then the whole line is considered a <key/value to jump to>, the application will run as if it was called using "-JumpTo" switch and the default values for the other switches will be used. The thing you should be aware in this case is that if you did not already accept the EULA for the currently logged user, the EULA dialog will be shown and its "I accept" button should be pressed in order to complete the jump.
If you start the application with an empty <switches list>, it will show the usage information screen.


Usage examples:
Example 1:
In order to make a regjump to key "HKEY_LOCAL_MACHINE\software\miscsoft\my key", you may use:
the key short form:
RegJumper.exe HKLM\software\miscsoft\my key

,the key long form:
RegJumper.exe HKEY_LOCAL_MACHINE\software\miscsoft\my key

or pass the key (in each of its forms) trough command line switch (note that the registry key is in quotes because it has space characters in it):
RegJumper.exe -JumpTo="HKEY_LOCAL_MACHINE\software\miscsoft\my key"

Example 2:
Suppose there are currently existing both key and key value with same paths in the hive:
key - HKLM\software\miscsoft\my key
key value - HKLM\software\miscsoft\my key

If you want to make a regjump to the key you should use:
RegJumper.exe -JumpToKey="HKLM\software\miscsoft\my key"

If you want to make a regjump to the key value instead you should use:
RegJumper.exe -JumpToValue="HKLM\software\miscsoft\my key"

Example 3:
If you want to make a regjump to "HKLM\software\miscsoft\my key", but you are not aware if it is a key or a key value then you should use:
RegJumper.exe -JumpTo="HKLM\software\miscsoft\my key"


Additional information:
Determining which Regedit instance is eligible:
If RegJumper is started without the -m or -UseMultipleInstancesOfRegedit switch it initially tries to find a workable instance of Regedit. If at least one working Regedit is found, RegJumper checks all found for eligible one :
•   For 64 bit RegJumper the first found Regedit(32 or 64 bit), which is not in use by another RegJumper is considered eligible. If all Regedits are currently in use, the first one found is considered eligible. This is the behavior when none of the "-32bit" and "-64bit" switches are used.
•   For 32 bit RegJumper the first found 32 bit Regedit, which is not in use by another RegJumper is considered eligible. If all 32 bit Regedits are currently in use, the first one found is considered eligible.

Synchronization behavior:
RegJumper's synchronisation is process ID oriented. Once an eligible Regedit instance is found, RegJumper will lock it so no other instance of Regjumper will be able to use it until it is released. For example, if you have currently running three instances of Regedit, two of which are already in use, by previously started RegJumpers, and you start a new instance of RegJumper, If the third instance of Regedit is an eligible one it will be used by the last started RegJumper. If you start a new RegJumper, it will have to wait for one of the other three to finish or the timeout to elapse.
This is the behavior when none of the "-tb", "-tw" or "-m" switches are used.

Behavior regarding Regedit window:
If a regjump is successful RegJumper will restore Regedit's window, if it was minimized, and will select the specified by the user registry key/value. If the regjump fails the Regedit's window state will not be changed, but it will jump to the last eligible key from the path.

Output text result from application's execution:
RegJumper prints via the default output stream information regarding:
•   application's start/end time
•   application's process ID
•   which key/value will try to jump to
•   whether or not the regjump was successful
Information about any errors found during the execution are printed via the default error stream.

Printing text result in the console window:
RegJumper is not a console application, therefore when started from within CMD.EXE's console window its output and error streams will not be automatically printed in it. If you want to print the text output in the console window you can use the "more" command.
For example:
the syntax to read the full output using "more" is:
RegJumper.exe <parameters list> 2>&1|more
the syntax to read the output skipping the errors is:
RegJumper.exe <parameters list> |more

Error codes returned :
If the regjump succeeds application returns 0, otherwise it returns one or sum of the following error codes:

CodeMeaning
 1  Application was unable to find an eligible working instance of Regedit.   
 2  Error occurred while trying to acquire a handle of the Regedit process.   
 4  No eligible Regedit window was found.    
 8  Error occurred during the Regedit launch.   
 16  The user did not specify a key to jump to.    
 32  Error occurred during the initialization of the communication between RegJumper and Regedit.   
 64, 128,
 256,512
 Error occurred during the communication between RegJumper and Regedit.   
 1024  The key specified by the user was not found in the hive.   
 2048  Another RegJumper instance is currently blocking this one from making a jump.   
 4096  User did not accept the EULA.   
 8192  Error occurred during EULA dialog creation.   
 16384  Error occurred during the creation of the Usage dialog  
 32768  This 32 bit version of RegJumper can not use 64 bit version of Regedit.   
 65536  There is a 32 bit instance of Regedit preventing the start of new 64 bit Regedit instance needed for the jump.   
 131072   There is a 64 bit instance of Regedit preventing the start of new 32 bit Regedit instance needed for the jump.   
 262144   The value the user specified does not exist in the registry hive.   
 524288   User did not specify a value to jump to.   
 1048576   Resource extraction error.   
 33554432   Regedit terminated unexpectedly.   
 67108864   Application terminated due to termination command from another RegJumper.