8
1
In the Windows registry, adding the LegacyDisable
string value to a key serves the purpose of instructing Windows to disregard the key, its values and any of its subkeys and subvalues, effectively disabling it.
For example, adding the LegacyDisable
string value to the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\opennewwindow
...disables opennewwindow
, removing the "Open in New Window" item from Windows Explorer's context menu. CCleaner's context menu cleanup tools also make use of LegacyDisable
for this purpose.
However, documentation on the string value seems non-existent; I've not been able to find anything at all documenting it, either on here or via Google, so I'm left confused about where it came from, whether disabling registry keys is all it was ever intended for, and why it's not documented.
Is disabling registry keys LegacyDisable
's only purpose?
When used to disable registry keys, how does its behaviour differ from the other method employed by CCleaner - prepending plain text to a string value's hex data? Why does CCleaner employ both methods?
3Because Microsoft apparently has failed to publish an official document on the purpose of LegacyDisable, what you have already recorded in your "question" appears to be as much information as is actually available on this string value. – music2myear – 2017-03-01T00:14:05.477
If it goes as far back as NT4 the next natural question would be why on earth it's still allowed for/relied on for modern systems. – Hashim – 2017-03-01T23:47:05.353
4
See this:: https://msdn.microsoft.com/en-us/library/windows/desktop/bb776883#legacydisable
– Biswapriyo – 2017-05-24T17:46:18.227