Directly open Registry key in Windows 10 and other Windows versions

Regedit Icon Big 256

How to directly open a Registry key with one click

In Windows, editing the Registry is a common task for customization and fine tuning of the OS. Various websites related to tweaking instruct you to go to different registry keys. I would like to share a number of methods and tools to directly open a Registry key and skip manual navigation with the Registry Editor. This can be done with a simple VB script file, PowerShell, and also with a few useful tiny apps.


Since Windows 2000, the Registry Editor is able to remember the last opened key before you closed it. This data is stored at the following registry key:


The LastKey value is used by Windows to store the last used key.

As you can see, this is a per-user registry branch, so Windows stores the last used key for every user separately. It is possible to utilize this feature to directly jump to the key you need. Let me show how it can be done via Windows Scripting Host and VBScript.

Directly Open a Registry Key in Windows 10

If you are running Windows 10 build 14942 or above, you need no scripts of third party apps. Since build 14942, the Registry Editor app in Windows 10 got an address bar, which displays the current Registry key path, and allows you to copy and paste it.

You can use shorthand notation for HKEY_* root key names. They are as follows:


So, when you need to go directly to HKEY_CURRENT_USER\Control Panel\Desktop, you can type the following in the address bar:

hkcu\control panel\desktop

Once you hit the Enter key, the path will be automatically expanded to HKEY_CURRENT_USER\Control Panel\Desktop. See the following screenshot:


In Windows 8.1/Windows 7/Windows Vista and Windows XP

In these operating systems, Regedit doesn't include the address bar. So, the idea is to copy the full path of the desired registry key to the clipboard and replace the LastKey value with the copied value from the clipboard. When regedit.exe is started after doing that,  it will open directly at the key you want.

How to fetch clipboard content with VBscript

The "htmlfile" ActiveX object is used to display HTML help and HTA files in Windows. It can be used to fetch clipboard content. It does not even require IE to be installed . The code is as follows:

set objHTA=createobject("htmlfile")

If clipboard content is text, it will be stored in cClipBoard variable. Simple, isn't it?

Directly open Regedit at desired key with a script

Since we now have the desired key path in the cClipboard variable, we need to write it into LastKey value metioned above. The code for that is:

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey", сClipBoard, "REG_SZ"

This code snippet is self-explanatory, so there is no need to comment it.

The final script looks like this:

Dim objHTA
Dim cClipBoard
Dim WshShell
set objHTA=createobject("htmlfile")
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey", cClipBoard, "REG_SZ"
WshShell.Run "regedit.exe -m"
Set objHTA = nothing
Set WshShell = nothing

Note that WshShell.Run "regedit.exe -m" line. It contains the undocumented "-m" switch, which allows you to run multiple instances of  Regedit simultaneously.

I have saved this script as "RegNav.vbs" file and you can download it right now:

Download ready to use VB Script

If opening Regedit is a very frequent task for you, then you can pin regnav.vbs to the taskbar. Create a new shortcut  and type the following into the shortcut target text box:

wscript.exe d:\regnav.vbs

Don't forget to use the correct path to regnav.vbs.

Now right click on the shortcut file you have created and click "Pin to Taskbar" from the context menu. That's all.

How to test this script

  1. Select this text: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
  2. Press CTRL+C
  3. Click on regnav.vbs.

Using Winaero Tweaker app

If you are the user of Winaero Tweaker, starting with version 0.8 it comes with the following option.

It will you allow you to go to the desired Registry key with one click. Once you open this page in Winaero Tweaker, it will try to extract the Registry key path from the clipboard to save your time!

Download Winaero Tweaker

Using RegistryOwnershipEx software

One of my apps, RegistryOwnershipEx, allows you to do the following tasks:

  • you can take ownership of a registry key with one click (useful to get full access to the key).
  • you can jump directly to the desired registry key also with one click.

It can also read any registry path from the Windows clipboard. If you run it with "/j" command line argument, e.g. regownershipex.exe /j, it will extract the registry key path from the clipboard and open Registry Editor directly.
You can get the RegistryOwnershipEx app here:


Directly Open a Registry Key with RegJump

RegJump is an excellent tool from Windows Sysinternals that exists for a very long time, launches the Registry Editor automatically and jumps to the specified registry path. The registry path needs to be mentioned as a command-line parameter for RegJump.

To make Registry Editor open the HKEY_LOCAL_MACHINE\Software\Microsoft branch directly, you’d use this command:

regjump.exe HKLM\Software\Microsoft\Windows

RegJump supports the -c switch that extracts the Registry path stored in the clipboard. This allows to open a Registry key directly.

You can create a shortcut to launch the app with the -c switch, so once you copy a registry key path, just click on the shortcut you created, and this will open Regedit.exe at the right key.

Besides Windows 10, RegJump also works in Windows 7 and Windows 8.

Finally, you can use a PowerShell script for the same.

Directly open a Registry key with PowerShell

PowerShell is a modern console. It supports a variety commands that allow you to change Windows options and manage its apps and features. It is perfect for automation.

You can use the following PowerShell script to open the Registry editor at the desired key.

$pidregedit = Get-Process regedit -ErrorAction SilentlyContinue
if ($pidregedit) {
       Start-Sleep -Milliseconds 500
       if (!$pidregedit.HasExited) {
             $pidregedit | Stop-Process -Force
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" -Name Lastkey -Value $KeyPath -Type String -Force
Start-Process "regedit.exe"

The script will close the running Registry editor app if it is running, set the Lastkey string value discussed above, and will start regedit.exe again.

Run it as follows.

.\openregkey.ps1 -Key "HKEY_CURRENT_USER\Software\Microsoft\Windows"

Substitute the path to the key path you want to open.

This will open the Registry editor and the desired key, and so it will open the key directly.

Alternatively, you can use a modified script version that doesn't close the Registry editor app, but opens a new instance of the app at the given path.

Directly open a Registry key in a new Regedit instance with PowerShell

To directly open a Registry key in a new instance of Regedit, use the following script.

Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" -Name Lastkey -Value $KeyPath -Type String -Force
Start-Process "regedit.exe" -args "-m"

Run at as follows.

.\openregkeynew.ps1 -Key "HKEY_CURRENT_USER\Software\Microsoft\Windows"

Download PowerShell Scripts

You can download the above PowerShell scripts from here: Download scripts. The ZIP archive includes both openregkeynew.ps1 and openregkey.ps1 files.

That's it.

Support us

Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:

If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!

Author: Sergey Tkachenko

Sergey Tkachenko is a software developer who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram, Twitter, and YouTube.

84 thoughts on “Directly open Registry key in Windows 10 and other Windows versions”

  1. Don`t work in my Win 7 64-Bit. I have download the Script an select the Text. Then copy with ctrl+c to clipboard.
    Also the i startet the reg.nav.vbs and i become an error. the Message says that is an error in thze vbs-Sript.



  2. Mmh, will not work for me.
    line: 1
    error: command expected
    I hope it’s correct. i become the error message in german.


  3. Very Thmanks for this script. Now also works great.
    Can you make a Chriome Extencion, so users can open Reg-Entries over the Browser ?

  4. Here’s a Firefox tip: Try using the Remove It Permanently extension.It can be found at:

  5. This is really great.

    The only slight problem is if the clipboard contains invalid data or no data then there is an error. Maybe it could just open Regedit to the top instead of giving an error. I guess this doesn’t really matter – it’s nice that this is super small and simple and it shouldn’t be made more complex…


  6. Hi
    Thanks for this little script.
    OTOH you might be interested in this (even easier to use) Firefox extension: Open RegEdit Key, available at
    Select a registry key on a web page and select ‘Open in regedit’ from the context menu. Registry editor will open with that key being selected. Simple!

  7. Nice. I made this myself some months ago, here’s my version:

    On Error Resume Next
    Set WshShell = WScript.CreateObject(“WScript.Shell”)
    WshShell.RegWrite “HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey”, Replace(createobject(“htmlfile”).parentwindow.clipboarddata.getdata(“text”),”HKCU”,”HKEY_CURRENT_USER”), “REG_SZ”
    WshShell.Run “regedit.exe -m”

  8. Really, really great work!!!

    In the latest Version (, with distance, the best registry modifying software.

    Thanks a lot and best regards.

  9. I’ve personally been using RegJump for a long time and prefer it to this method since it also checks the validity of your clipboard content and doesn’t change any registry keys. Just create a new textfile in the same directory as regjump.exe with the content @regjump -c and save it as something.bat. When you then run that it will automatically jump straight to the registry key you had in your clipboard.

    1. There is a Chrome extension that uses RegJump, so all you have to do is select the key in the text you’re reading, right click & click on the regjump option.

  10. No one does not waste his time to lie to you.
    two people say it’s not work on windows 10 10240.
    If you think you’re so you’re right.

    1. Ok.
      I am on 10240 pro x64. All methods mentioned in this article work for me.
      I am using my app (ROEX) daily, and just now i checked the VBS script once again.
      Both works.
      Now give me your steps to reproduce: what you did step by step and what failed for you.
      Let’s resolve the issue.

      1. It‘s true that this program doesn‘t work properly in Windows 10. It‘s working sometimes but for past several days I had to manually go to desired keys as it was displaying a screen I posted below. Perhaps I‘ll try using script instead of the program but it may not go well either.

          1. It looks like that copying the key to the clipboard before opening your program works most of the time. If I get any bug in the future with specific key I‘ll post it here.

          2. Faced this problem again. The key this time is:
            [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]

  11. Sometimes in Windows 10 your program stops to work (doesn‘t jump to the key entered and shows “Current owner” as blank. I don‘t know what causes this problem but it may be that Explorer shell restarting. I‘m adding a screenshot also:

    1. Apparently Explorer shell restarting doesn‘t make any difference since I‘ve restarted my PC and the problem persisted.

  12. I noticed that it doesn’t work if there are spaces before or after the key. Maybe you can implement it to auto-remove spaces?

  13. Many thanks for this useful little script. Is it possible to have the script open the registry editor bypassing the UAC?
    The UAC is just an annoying prompt for the regedit.

  14. Update: RegistryOwnershipEx works ok, but the vbscript puts me in a endless “loop” of opening multiple instances of regedit.

  15. I improved the VBScript. Now it works with registry-paths beginning with HKLM or HKCU for example.
    Additionally it removes spaces and it removes the backslash at the end of the string in the clipboard, if available.
    I know, this could be implemented easier, but my VB skills aren’t good.

    Dim objHTA
    Dim cClipBoard
    Dim WshShell
    set objHTA=createobject(“htmlfile”)
    If Right(cClipBoard, 1) = ” ” Then cClipBoard = Left(cClipBoard, Len(cClipBoard)-1)
    Loop Until Right(cClipBoard, 1) ” ”
    If Left(cClipBoard, 1) = ” ” Then cClipBoard = Right(cClipBoard, Len(cClipBoard)-1)
    Loop Until Left(cClipBoard, 1) ” ”
    If Left(cClipBoard, 4) = “HKCR” Then cClipBoard = “HKEY_CLASSES_ROOT” & Mid(cClipBoard, 5)
    If Left(cClipBoard, 4) = “HKCU” Then cClipBoard = “HKEY_CURRENT_USER” & Mid(cClipBoard, 5)
    If Left(cClipBoard, 4) = “HKLM” Then cClipBoard = “HKEY_LOCAL_MACHINE” & Mid(cClipBoard, 5)
    If Left(cClipBoard, 4) = “HKU” Then cClipBoard = “HKEY_USERS” & Mid(cClipBoard, 5)
    If Left(cClipBoard, 4) = “HKCC” Then cClipBoard = “HKEY_CURRENT_CONFIG” & Mid(cClipBoard, 5)
    If Right(cClipBoard, 1) = “\” Then cClipBoard = Left(cClipBoard, Len(cClipBoard)-1)
    Set WshShell = WScript.CreateObject(“WScript.Shell”)
    WshShell.RegWrite “HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey”, cClipBoard, “REG_SZ”
    WshShell.Run “regedit.exe -m”
    Set objHTA = nothing
    Set WshShell = nothing

    1. Note that the comment removed the inequality-operator in Line 8 Column 33 and Line 11 Column 32.
      Further you have to replace the quotes (“) with new quotes…

      1. For easy reference:

        The inequality operator that is missing is the “less than sign” immediately followed by “the greater than sign”

  16. Win 10 with Visual studio 2015

    Dim WScript As Object = Nothing

    ‘Let’ and ‘Set’ assignment statements are no longer supported.

    for WshShell.RegWrite and WshShell.Run getting:
    Method arguments must be enclosed In parentheses.


    1. Sergey,
      I believe the people for who it doesn’t work are doing the test by copying “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon” from your web page. In W10 at least in my tests with Edge if you copy any text with a space from this page an invalid character is copied for the space. Works fine where there are no spaces in the copied text.

  17. Both regownershipex and regnav.vbs working fine, but is it possible to make a third party registry editor like O&O RegEditor the default in place of regedit?


  18. I simply use ctrl+f (search) and enter the keyname
    It would be nice just to export that particular key so I can save it in my reg tweaks and merge them all at once.

  19. on error resume next

    dim html
    set html = CreateObject(“htmlfile”)

    dim clipboard
    clipboard = html.parentwindow.clipboarddata.getdata(“text”)
    clipboard = Replace(clipboard, vbNewLine, “”)
    clipboard = Trim(clipboard)

    if InStr(LCase(clipboard), “hkcr\”) = 1 then clipboard = “HKEY_CLASSES_ROOT” + Mid(clipboard, 5)
    if InStr(LCase(clipboard), “hkcu\”) = 1 then clipboard = “HKEY_CURRENT_USER” + Mid(clipboard, 5)
    if InStr(LCase(clipboard), “hklm\”) = 1 then clipboard = “HKEY_LOCAL_MACHINE” + Mid(clipboard, 5)
    if InStr(LCase(clipboard), “hku\” ) = 1 then clipboard = “HKEY_USERS” + Mid(clipboard, 5)
    if InStr(LCase(clipboard), “hkcc\”) = 1 then clipboard = “HKEY_CURRENT_CONFIG” + Mid(clipboard, 5)

    while Right(clipboard, 1) = “\”
    clipboard = Left(clipboard, Len(clipboard) – 1)

    ‘ MsgBox “|” & clipboard & “|”

    dim shell
    set shell = WScript.CreateObject(“WScript.Shell”)
    shell.RegWrite “HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey”, clipboard, “REG_SZ”
    shell.Run “regedit.exe -m”

    1. Sergey, is there any way to stop the comment system from replacing characters? Who needs curvy quotes? It took me a while to figure out that one of the errors with the copy/pasted code from Byron’s script was the minus sign being wrong! It makes no sense why forum software everywhere replaces the dash (minus) sign that is universally typed on keyboards all over the world with a slightly longer dash sign… Frustrating!

  20. If you drag the RegEdit-Symbol out of the main Windows map to the Taskbar, then you’ll come (with one click) directly into the RegEdit Menu

  21. I tried to improve the VBscripts by Guest and Byron. It is now easier to copy a registry key and have it work correctly with the script.

    The additions to the VBscript include:

    1. Tabs are replaced with nothing. I’ve never seen a tab character in a registry key. Now any combination of spaces, tabs, or returns at the beginning or end of the registry key will be trimmed to work correctly.

    2. Left and right brackets are removed from the beginning and end of the key. This helps because most registry keys are shown with brackets and now the brackets can be part of the copy without problems.

    3. Some comments were added because I’m a VBscript novice.

    NOTE: The comment system on replaces various characters. This makes it so the VBscript code will not work correctly with only a copy and paste. Some characters need to be changed back to the original code.

    Winaero comment system makes all minus signs (short dashes) into slightly longer dash characters.

    Fix: Replace all dashes with minus signs.

    Winaero comment system makes straight quote characters into left and right curvy quotes.

    Fix: Replace all left and right curvy quotes with straight quotes.

    Winaero comment system makes straight apostrophes into curvy apostrophes.

    Fix: Replace all curvy apostrophes with straight apostrophes.


    on error resume next

    dim html
    set html = CreateObject(“htmlfile”)

    dim clipboard
    clipboard = html.parentwindow.clipboarddata.getdata(“text”)

    ‘ Remove all newline characters with nothing
    clipboard = Replace(clipboard, vbNewLine, “”)

    ‘ Replace all tab characters with nothing (I’ve never seen a tab character in a registry key)
    clipboard = Replace(clipboard, Chr(9), “”)

    ‘ Remove spaces at the beginning and end
    clipboard = Trim(clipboard)

    ‘ Trim left bracket “[” from the left and right bracket “]” from the right
    If Left(clipBoard, 1) = “[” Then clipBoard = Right(clipBoard, Len(clipBoard) – 1)
    If Right(clipBoard, 1) = “]” Then clipBoard = Left(clipBoard, Len(clipBoard) – 1)

    ‘ Replace hive abbreviations with full hive name
    if InStr(LCase(clipboard), “hkcr\”) = 1 then clipboard = “HKEY_CLASSES_ROOT” + Mid(clipboard, 5)
    if InStr(LCase(clipboard), “hkcu\”) = 1 then clipboard = “HKEY_CURRENT_USER” + Mid(clipboard, 5)
    if InStr(LCase(clipboard), “hklm\”) = 1 then clipboard = “HKEY_LOCAL_MACHINE” + Mid(clipboard, 5)
    if InStr(LCase(clipboard), “hku\” ) = 1 then clipboard = “HKEY_USERS” + Mid(clipboard, 5)
    if InStr(LCase(clipboard), “hkcc\”) = 1 then clipboard = “HKEY_CURRENT_CONFIG” + Mid(clipboard, 5)

    ‘ Trim \ from the right
    while Right(clipboard, 1) = “\”
    clipboard = Left(clipboard, Len(clipboard) – 1)

    ‘ Uncomment the following line to help with debugging the script – it shows the clipboard data in a message box
    ‘MsgBox “|” & clipboard & “|”

    dim shell
    set shell = WScript.CreateObject(“WScript.Shell”)
    shell.RegWrite “HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey”, clipboard, “REG_SZ”
    shell.Run “regedit.exe -m”

  22. Hello Sergey,

    Many thanks for your scripts and programs; they’re really handy and helpful. Just a bit of constructive criticism on this page, the Implementation section where you explain how to use shorthand notations for registry keys has a typo in the example provided: “hcku\control panel\desktop” should be “hkcu\control panel\desktop”. Very small mistake, but novice users will have a hard time understanding why it doesn’t work.

    Again, thanks for your time and for your willingness to share your knowledge.



  23. Hi Sergey, i try to modify windows title height but it works only with some windows (winaero app, file explorer for example). Some other apps likes Outlook, Brave, Office remains as they are… large!!

  24. Thanks Sergey!
    Thanks also to Orbidia for his ‘enhanced’ script.
    For those using Orbidia’s script the complete fix for the dash replacement is
    Fix : Replace all dashes with minus signs and remove any space around the new minus sign .
    Should look like (clipBoard)minus sign1
    [CODE] Len(clipBoard)-1 [/CODE]

  25. And… one last note. Orbidia’s ‘enhanced’ script requires a slight change (MsgBox debugging really helped)
    To get HKEY_USERS to work, change the numbers in that line of code from ‘5’ to ‘4’
    [CODE] if InStr(LCase(clipboard), “hku\” ) = 1 then clipboard = “HKEY_USERS” + Mid(clipboard, 4) [/CODE]

  26. Because of all the issues with curly quotes and dashes and hashes I would like to offer a link to Orbidia’s modified regnav.vbs script

  27. Thank you, Sergey, for sharing your time and knowledge.
    Orbidia, thank you for your scripts and never apologize for commenting your code, since all code should have comments for ease of reading/understanding, no matter how expert the person is. Comments are not only for/by novice programmers. Any good programmer not afraid of job security will be used to commenting her/his code.
    Thank you all for your input… all comments help one way or another.

  28. Thanks. This Article helped me a lot, and I want to translate it into Chinese and put on my blog(for sure with you name and this original link). Can I get your permission to do this?

  29. Can you put the date on all posts – yours and others. Information is not very useful without knowing how current the is the comment.

  30. Side note, for reg keys that you might use frequently, RegEdit also has a Favorites feature. These Favorites are stored in their own registry key,

    I’ve created my own .reg file that pre-loads my most common Favorites into RegEdit on any new PC I start using.

      1. since recently (probably Windows-update to 20H2) the regnav.vbs doesn’t work anymore although I added it in Defender in the exclusions.
        error message:
        “Script: O:\Batch\regnav.vbs
        Line: 10
        characters: 1
        Error: The script contains malicious data and was blocked by your antivirus software: Run’.
        Code: 800A802D
        Source: Runtime error in Microsoft VBScript”.
        If I add the wscript.exe to the exclusions, it works.

        1. Some restrictions must have been done by Microsoft.
          Well, recent Registry Editor versions have the address bar, which can be used to quickly go to the desired path. Maybe the company wants us to use it instead of the script.

  31. The extension of the registry with the adress bar and the input of the short path is surely a good and important progress.

    Nevertheless I regret that the regnav-script does not work anymore. The script is stored on the desktop as a shortcut and clicked on when needed, there is no faster way to get to the desired place in the registry.

    1. I see.
      But I can’t do anything against it.
      Maybe reporting the script as false-positive to Microsoft may help.

  32. Regeditx help to make this in 1999 year even on windows 98
    Also There was Microplanet Registry studio with many features
    and many others

    Simple wait the twenty years…

  33. my easy way us use regjump.exe renamed to r.exe and copied into \windows\ folder . then WIN+R=run > r {paste regstring using abbreviated form or long form instead} e.g. > r HKLM\etc {enter}

  34. I want to block Microsoft from spying but your SUGGESTIONS ARE TOO COMPLICATED for a novice user like myself.
    MAY I SUGGEST A CHOICE OF DIFFERENT SCRIPTS, after selecting, copy into run, hit enter, and done

Leave a Reply

Your email address will not be published.

Exit mobile version
Using Telegram? Subscribe to the blog channel!
Hello. Add your message here.