Я пытаюсь выполнить довольно сложную операцию в контекстном меню проводника Windows.
У меня есть процесс кодирования, который я хочу вызвать для любого файла.
Идея состоит в том, чтобы щелкнуть правой кнопкой мыши файл, получить параметр в контекстном меню и выбрать.
Это относительно легко сделать:
HKCR "*\shell\encoding" "" "Encode with MyEncoder"
Это работает.
Кодировщик создает файлы расширения * .encode.
Я хочу декодировать эти файлы, используя тот же механизм.
Это также довольно просто:
HKCR ".encode" "" "encoded.file"
HKCR "encoded.file\shell\decode" "" "Decode with MyEncoder"
Итак, теперь основной механизм работает: кодируйте любой файл с помощью контекстного меню, декодируйте эти файлы также с помощью контекстного меню.
Теперь на вопрос:
Проблема в том, что опция «Кодировать с помощью MyEncoder» также появляется в файле * .encode. Это кажется понятным, поскольку эта опция была доступна для любого типа файла. Однако я не хочу, чтобы эта опция была действительной, если расширение файла * .encode.
Возможно ли это сделать, и если да, то как?