Automating the Deletion of Registry Items
An
important drawback to
using Registry patches is that they can be used only to replace or
augment information in the Registry. No provision for removing keys
or values is included in Registry patches, yet some important changes
can only be made by removing keys or values. For example, to remove
the Bitmap Image entry from Explorer’s New menu, you need to delete the key
HKEY_CLASSES_ROOT\.bmp\ShellNew
entirely, and no
Registry patch can do that.
Here, we enlist the services of the Windows Script Host, which includes a functionality for manipulating Registry information. Chapter 9 documents writing scripts for the Windows Script Host and, in particular, Registry functions like the one used in this solution:
Open a plain-text editor, such as Notepad, and type the following:
Call RegistryDelete("HKEY_CURRENT_USER\.bmp\ShellNew", "") Sub RegistryDelete(KeyName, ValueName) Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.RegWrite KeyName & "\" & ValueName, "" WshShell.RegDelete KeyName & "\" & ValueName End Sub
The first line invokes the
RegistryDelete
subroutine, listed immediately after. Simply put the full path of the Registry key you wish to delete between the quotation marks, making sure not to include a trailing slash (a “\” at the end).To delete a single value rather than an entire key, specify the value name between the second pair of quotes, like this:
Call RegistryDelete("HKEY_CURRENT_USER\.bmp", "Content Type")
To remove ...
Get Windows Me Annoyances now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.