Skip to main content

I have answered your post about LegacyDisable and have some knowledge of the subject. As this post does not have answers, I'll try, although my answer may not be satisfactory.

The problem with these registry items is that they are undocumented. Each new version of Windows may add some more or invalidate others. Since they are undocumented, Microsoft keeps the freedom of freely modifying whatever it likes, so the burden of verifying whether they still work or not falls on the users.

Information about these items comes from Microsoft in all sort of unofficial channels. Sometimes they are found in SDK samples or on the MSDN, sometimes in forum answers by Microsoft engineers, and sometimes from clients of Microsoft that had privileged access to Microsoft engineers.

I have found one person who has compiled a list of all known such items in the article File Type Registration, each with explanation and a link to documentation. Not too surprising, most of the items don't have documentation links.

As regarding ProgrammaticAccessOnly, this article only says "Removes verb from IContextMenu enumeration?", but has no documentation link.

Searching via google, i have found a Winaero article that says:

ProgrammaticAccessOnly does the main trick. It is a special parameter which tells the Windows Explorer shell that the context menu item can only be accessed by software programmatically. The user interface gets locked down, so the command disappears from the context menu!

Together, it seems that these special registry items are recognized by the IContextMenu interface, defined as which:

Exposes methods that either create or merge a shortcut menu associated with a Shell object.

The IContextMenu interface is exported by Shell extension handlers, chiefly used by Windows Explorer.

In summary, the presence of ProgrammaticAccessOnly causes the shell enumeration to ignore the shell item, but programs can still refer to and update it via the IContextMenu interface or directly by modifying the registry.

I have answered your post about LegacyDisable and have some knowledge of the subject. As this post does not have answers, I'll try, although my answer may not be satisfactory.

The problem with these registry items is that they are undocumented. Each new version of Windows may add some more or invalidate others. Since they are undocumented, Microsoft keeps the freedom of freely modifying whatever it likes, so the burden of verifying whether they still work or not falls on the users.

Information about these items comes from Microsoft in all sort of unofficial channels. Sometimes they are found in SDK samples or on the MSDN, sometimes in forum answers by Microsoft engineers, and sometimes from clients of Microsoft that had privileged access to Microsoft engineers.

I have found one person who has compiled a list of all known such items in the article File Type Registration, each with explanation and a link to documentation. Not too surprising, most of the items don't have documentation links.

As regarding ProgrammaticAccessOnly, this article only says "Removes verb from IContextMenu enumeration?", but has no documentation link.

Searching via google, i have found a Winaero article that says:

ProgrammaticAccessOnly does the main trick. It is a special parameter which tells the Windows Explorer shell that the context menu item can only be accessed by software programmatically. The user interface gets locked down, so the command disappears from the context menu!

Together, it seems that these special registry items are recognized by the IContextMenu interface, defined as :

Exposes methods that either create or merge a shortcut menu associated with a Shell object.

The IContextMenu interface is exported by Shell extension handlers, chiefly used by Windows Explorer.

In summary, the presence of ProgrammaticAccessOnly causes the shell enumeration to ignore the shell item, but programs can still refer to and update it via the IContextMenu interface or directly by modifying the registry.

I have answered your post about LegacyDisable and have some knowledge of the subject. As this post does not have answers, I'll try, although my answer may not be satisfactory.

The problem with these registry items is that they are undocumented. Each new version of Windows may add some more or invalidate others. Since they are undocumented, Microsoft keeps the freedom of freely modifying whatever it likes, so the burden of verifying whether they still work or not falls on the users.

Information about these items comes from Microsoft in all sort of unofficial channels. Sometimes they are found in SDK samples or on the MSDN, sometimes in forum answers by Microsoft engineers, and sometimes from clients of Microsoft that had privileged access to Microsoft engineers.

I have found one person who has compiled a list of all known such items in the article File Type Registration, each with explanation and a link to documentation. Not too surprising, most of the items don't have documentation links.

As regarding ProgrammaticAccessOnly, this article only says "Removes verb from IContextMenu enumeration?", but has no documentation link.

Searching via google, i have found a Winaero article that says:

ProgrammaticAccessOnly does the main trick. It is a special parameter which tells the Windows Explorer shell that the context menu item can only be accessed by software programmatically. The user interface gets locked down, so the command disappears from the context menu!

Together, it seems that these special registry items are recognized by the IContextMenu interface, which:

Exposes methods that either create or merge a shortcut menu associated with a Shell object.

The IContextMenu interface is exported by Shell extension handlers, chiefly used by Windows Explorer.

In summary, the presence of ProgrammaticAccessOnly causes the shell enumeration to ignore the shell item, but programs can still refer to and update it via the IContextMenu interface or directly by modifying the registry.

Bounty Ended with 50 reputation awarded by Hashim Aziz
deleted 2 characters in body
Source Link
harrymc
  • 1
  • 31
  • 578
  • 995

I have answered your post about LegacyDisable and have some knowledge of the subject. As this post does not have answers, I'll try, although my answer may not be satisfactory.

The problem with these registry items is that they are undocumented. Each new version of Windows may add some more or invalidate others. Since they are undocumented, Microsoft keeps the freedom of freely modifying whatever it likes, so the burden of verifying whether they still work or not falls on the users.

Information about these items comes from Microsoft in all sort of unofficial channels. Sometimes they are found in SDK samples or on the MSDN, sometimes in forum answers by Microsoft engineers, and sometimes from clients of Microsoft that had privileged access to Microsoft engineers.

I have found one person who has compiled a list of all known such items in the article File Type Registration, each with explanation and a link to documentation. Not too surprising, most of the items don't have documentation links.

As regarding ProgrammaticAccessOnly, this article only says "Removes verb from IContextMenu enumeration?", but has no documentation link.

Searching via google, i have found a Winaero article that says:

ProgrammaticAccessOnly does the main trick. It is a special parameter which tells the Windows Explorer shell that the context menu item can only be accessed by software programmatically. The user interface gets locked down, so the command disappears from the context menu!

Together, it seems that these special registry items are recognized by the IContextMenu interface, defined as :

Exposes methods that either create or merge a shortcut menu associated with a Shell object.

The IContextMenu interface is exported by Shell extension handlers, chiefly used by Windows Explorer.

In summary, the presence of ProgrammaticAccessOnly causes the shell enumeration to ignore the shell item, but programs can still refer to and update themit via the IContextMenu interface or directly by modifying the registry.

I have answered your post about LegacyDisable and have some knowledge of the subject. As this post does not have answers, I'll try, although my answer may not be satisfactory.

The problem with these registry items is that they are undocumented. Each new version of Windows may add some more or invalidate others. Since they are undocumented, Microsoft keeps the freedom of freely modifying whatever it likes, so the burden of verifying whether they still work or not falls on the users.

Information about these items comes from Microsoft in all sort of unofficial channels. Sometimes they are found in SDK samples or on the MSDN, sometimes in forum answers by Microsoft engineers, and sometimes from clients of Microsoft that had privileged access to Microsoft engineers.

I have found one person who has compiled a list of all known such items in the article File Type Registration, each with explanation and a link to documentation. Not too surprising, most of the items don't have documentation links.

As regarding ProgrammaticAccessOnly, this article only says "Removes verb from IContextMenu enumeration?", but has no documentation link.

Searching via google, i have found a Winaero article that says:

ProgrammaticAccessOnly does the main trick. It is a special parameter which tells the Windows Explorer shell that the context menu item can only be accessed by software programmatically. The user interface gets locked down, so the command disappears from the context menu!

Together, it seems that these special registry items are recognized by the IContextMenu interface, defined as :

Exposes methods that either create or merge a shortcut menu associated with a Shell object.

The IContextMenu interface is exported by Shell extension handlers, chiefly used by Windows Explorer.

In summary, the presence of ProgrammaticAccessOnly causes the shell enumeration to ignore the shell item, but programs can still refer to and update them via the IContextMenu interface or directly by modifying the registry.

I have answered your post about LegacyDisable and have some knowledge of the subject. As this post does not have answers, I'll try, although my answer may not be satisfactory.

The problem with these registry items is that they are undocumented. Each new version of Windows may add some more or invalidate others. Since they are undocumented, Microsoft keeps the freedom of freely modifying whatever it likes, so the burden of verifying whether they still work or not falls on the users.

Information about these items comes from Microsoft in all sort of unofficial channels. Sometimes they are found in SDK samples or on the MSDN, sometimes in forum answers by Microsoft engineers, and sometimes from clients of Microsoft that had privileged access to Microsoft engineers.

I have found one person who has compiled a list of all known such items in the article File Type Registration, each with explanation and a link to documentation. Not too surprising, most of the items don't have documentation links.

As regarding ProgrammaticAccessOnly, this article only says "Removes verb from IContextMenu enumeration?", but has no documentation link.

Searching via google, i have found a Winaero article that says:

ProgrammaticAccessOnly does the main trick. It is a special parameter which tells the Windows Explorer shell that the context menu item can only be accessed by software programmatically. The user interface gets locked down, so the command disappears from the context menu!

Together, it seems that these special registry items are recognized by the IContextMenu interface, defined as :

Exposes methods that either create or merge a shortcut menu associated with a Shell object.

The IContextMenu interface is exported by Shell extension handlers, chiefly used by Windows Explorer.

In summary, the presence of ProgrammaticAccessOnly causes the shell enumeration to ignore the shell item, but programs can still refer to and update it via the IContextMenu interface or directly by modifying the registry.

Source Link
harrymc
  • 1
  • 31
  • 578
  • 995

I have answered your post about LegacyDisable and have some knowledge of the subject. As this post does not have answers, I'll try, although my answer may not be satisfactory.

The problem with these registry items is that they are undocumented. Each new version of Windows may add some more or invalidate others. Since they are undocumented, Microsoft keeps the freedom of freely modifying whatever it likes, so the burden of verifying whether they still work or not falls on the users.

Information about these items comes from Microsoft in all sort of unofficial channels. Sometimes they are found in SDK samples or on the MSDN, sometimes in forum answers by Microsoft engineers, and sometimes from clients of Microsoft that had privileged access to Microsoft engineers.

I have found one person who has compiled a list of all known such items in the article File Type Registration, each with explanation and a link to documentation. Not too surprising, most of the items don't have documentation links.

As regarding ProgrammaticAccessOnly, this article only says "Removes verb from IContextMenu enumeration?", but has no documentation link.

Searching via google, i have found a Winaero article that says:

ProgrammaticAccessOnly does the main trick. It is a special parameter which tells the Windows Explorer shell that the context menu item can only be accessed by software programmatically. The user interface gets locked down, so the command disappears from the context menu!

Together, it seems that these special registry items are recognized by the IContextMenu interface, defined as :

Exposes methods that either create or merge a shortcut menu associated with a Shell object.

The IContextMenu interface is exported by Shell extension handlers, chiefly used by Windows Explorer.

In summary, the presence of ProgrammaticAccessOnly causes the shell enumeration to ignore the shell item, but programs can still refer to and update them via the IContextMenu interface or directly by modifying the registry.