Это дополнительный вопрос из этого. Как видно из этого ответа, ProgrammaticAccessOnly
может использоваться для скрытия определенных элементов контекстного меню без отключения их базовых или связанных функций.
Таким образом, он выглядит как более полезный аналог строкового значения LegacyDisable
, поскольку его можно использовать для отключения функций реестра менее разрушительным образом, чем LegacyDisable
.
Однако, как и во многих других парах «значение-данные реестра», трудно найти фактическую документацию о значении и о том, как именно она работает, из Microsoft или других авторитетных источников. Все, что я смог найти за пределами разрозненных постов на форуме, это следующее, из учебника здесь:
ProgrammaticAccessOnly - это специальное значение, которое скрывает запись в контекстном меню, но позволяет программам получать к ней доступ при необходимости.
Это далеко не исчерпывающее, и я сомневаюсь, что область действия значения ограничена контекстными меню. Например, ProgrammaticAccessOnly=Apartment
подробно описан здесь, по крайней мере, один раз, без объяснения того, что он делает, или других типов данных.
Как именно работает строковое значение ProgrammaticAccessOnly
в реестре? Есть ли какие-то предостережения, чтобы всегда использовать его поверх LegacyDisable
? Кроме того, что является списком всех возможных типов данных, которые могут быть использованы с ним?