Я хотел бы добавить запись в контекстное меню для папок, но только иметь его шоу в контекстном меню, ЕСЛИ рассматриваемая папка содержит файлы определенного типа (в этом случае, только если папка содержит .avi файлы). Действительно ли это возможно?
Я уверен, что видел по крайней мере одну программу, которой только показали ее запись контекстного меню в определенных папках - хотя я не могу ни за что в жизни помнить, каково это было.
Конечно, возможно записать обработчик контекстных меню, запись которого, которая только обнаружится в меню, если определенные файлы будут существовать в каталоге. Обработчик контекстных меню является программой, которая является бесплатной решить, обнаружиться ли или нет, хотя это могло бы замедлить появление контекстного меню для папок.
Единственный общий механизм в Windows для этого для случая является Windows Search Advanced Query Syntax. Одной из новых возможностей в Windows 7 является добавление значения "AppliesTo" для статических объектов контекстного меню. Это позволяет статическому объекту быть показанным или скрытым на основе результата запроса AQS.
В этом примере значение DefaultAppliesTo делает этот глагол значением по умолчанию для любого файла с Word "exampleText1" в его имени файла. Значение AppliesTo включает глагол для любого файла с "exampleText1" на имя. Значение HasLUAShield отображает щит для файлов с "exampleText2" на имя.
HKEY_CLASSES_ROOT
txtile
shell
test.verb
DefaultAppliesTo = System.ItemName:"exampleText1"
HasLUAShield = System.ItemName:"exampleText2"
AppliesTo = System.ItemName:"exampleText1"
Поскольку AQs не хорошо зарегистрирован, я не смог найти синтаксис для запросов содержания папки.
Инструменты Filemenu позволят Вам сделать это, по крайней мере, в своем собственном контекстном меню.