I'm not sure what you mean by "clean" the registry key, but it's all too easy to write to the registry like this:
dim WSH
set WSH = createobject("WScript.Shell")
WSH.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\url1", "http://www.google.com"
That will effectively replace the value in url1 to
http://www.google.com. The most difficult Part of this will be to figure out how many url values are available. Here is a peice of code that will loop through all the registry values (urls) in that registry key, and replace them with "" (nothing).
' /* Create Shell Object */
dim WSH
set WSH = createobject("WScript.Shell")
' /* Set I To 1
I = 1
' / * Loop Without Conditions (Infinately) */
do
' /* If There is any kind of error, just keep processing */
on error resume next
' /* Read The String Value In The Registry Into the url Variable */
url = WSH.RegRead("HKCU\Software\Microsoft\Internet Explorer\TypedURLs\url" & I)
' /* If The Length Of What We Read From The Registry is 0, Then Break From The Loop */
if len(url) = 0 then exit do
' /* OverWrite The Current Value (current URL) with "" chr(34) is the character code for " */
WSH.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\url" & I, chr(34) & "" & chr(34)
' /* Reset URL */
url = ""
' /* Add One To I (To get the next URL in the registry */
I = I + 1
loop
' /* All Done */
msgbox "Complete!"
WScript.Quit
Now, IE Still recognizes these "" values, because the values are still in the registry, but URL's have been removed. They could have been changed just as easily to say,
http://www.google.com. The way to actually Remove All The Values is as such:
' /* Create Shell Object */
dim WSH
set WSH = createobject("WScript.Shell")
' /* Set I To 1
I = 1
' / * Loop Without Conditions (Infinately) */
do
' /* If There is any kind of error, just keep processing */
on error resume next
' /* Read The String Value In The Registry Into the url Variable */
url = WSH.RegRead("HKCU\Software\Microsoft\Internet Explorer\TypedURLs\url" & I)
' /* If The Length Of What We Read From The Registry is 0, Then Break From The Loop */
if len(url) = 0 then exit do
' /* Delete The URL From The Registry */
WSH.RegDelete "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\url" & I
' /* Reset URL */
url = ""
' /* Add One To I (To get the next URL in the registry */
I = I + 1
loop
' /* All Done */
msgbox "Complete!"
WScript.Quit
Let me know if this helps you any