How to Open Selected Registry Address from Internet Explorer into Regedit
Adding a function in the context menu is quite easy.
You noticed that many apps offer some context menu facilities, to do so they mainly use an activex/addon installed with their program.
An IE context menu item is usually linked to a htm/html file wich includes scripts, links to activex, etc... and use a personalized dll.
In fact we have to write a script, embed it or name it as a htm file and ask the registry to write an entry in the context menu which on click links to the htm file.
Due to UAC, the htm file will ask to open a VBS file which will do the job.
A prompt will ask you if you accept to run the script.
Personally i place the htm file in the common files folder where i created a folder named "Registry" just to remember it better, but it could be anywhere.
The VBS file should be in %windir% so that it can be called from anywhere.
Then, the last thing to do is to add the registry key which will modifiy the IE context menu.
The added context menu items are in:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\
OPTION ONE:
1/ We will start by the htm file:
We want to add in the context menu an item which when clicked opens Regedit at a selected Address.
So we have to make a script which copy the selected Address into the clipboard.
Code:
<SCRIPT>
var CheckForSelection = window.external.menuArguments.document.selection.createRange().text;
window.clipboardData.setData("Text",CheckForSelection);
</SCRIPT>
We will call this VBScript OpenReg, we will make it after this step.
Code:
<SCRIPT LANGUAGE="VBScript">
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "%windir%\OpenReg.vbs",1,False
Set WshShell = Nothing
</SCRIPT>
2/ It is time now to make the script which will open Regedit at the selected address.
Code:
Set oSh = CreateObject("WScript.Shell")
Set oHtml = CreateObject("htmlfile")
Set oClipBoard = oHtml.ParentWindow.ClipBoardData
Set Shell = WScript.CreateObject("WScript.Shell")
strText = oClipBoard.getData("Text")
Set WshShell = CreateObject("WScript.Shell")
Dim Cle
Cle = "Computer\" & strText
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Lastkey",Cle,"REG_SZ"
WshShell.Run "regedit", 1,True
Set WshShell = Nothing
3/ To finish, we write the new key in the registry.
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\
Create a new key named: Open In Regedit and give as default value: File://C:\Program Files\Common Files\Registry\OpenReg.htm
Close Regedit, open IE and test. (select a registry address, right click and "Open in Regedit").
OPTION TWO:
If you are as lazy as i am, all files are in the attached zip file.
Openinreg.zip < Click To Download
- Extract OpenReg.htm to C:\Program Files\Common Files\Registry
- Extract OpenReg.vbs to C:\Windows
- Run openinreg.reg to write the context menu key in the registry
Attachments
Last edited by a moderator: