Добавить запись в контекстное меню для определенного типа файла

Что я хочу

Я хочу добавить пользовательскую запись в меню, которое появляется при щелчке правой кнопкой мыши на.jpg/.jpeg для моей программы (редактирование изображений).

Что я пробовал

Я добавил в HKEY_CLASSES_ROOT\jpegfile\shell ключ testтам второй ключ command и установите для него значение (по умолчанию) notepad.exe (только для тестирования). Потому что нет test запись появилась в меню, я сделал то же самое, только под директорией HKEY_CLASSES_ROOT \, где она работала!

Файл, по которому я щелкаю, представляет собой JPEG, и значением по умолчанию HKEY_CLASSES_ROOT.jpg является jpegfile,

(Также проверено с txtfile но безуспешно.)

Что я сделал не так, чтобы добавить пользовательскую команду только для определенных типов файлов?

1 ответ

Решение

То, что вы сделали, было правильно. Возможные причины, по которым это не сработало:

  1. Центр обновления Windows имеет раздражающую тенденцию в Windows 10 постоянно сбрасывать ассоциации файлов по умолчанию в Windows.

  2. Вы добавили эту возможность в ключ jpegfile, но тип.jpg может быть связан с ключом другого типа.

Перейдите к HKEY_CLASSES_ROOT.jpg и посмотрите, что это за ассоциация (или введите ASSOC .jpg в командной строке). Если это не jpegfile, проверьте, что это такое, если вы действительно хотите сохранить эту связь.

Чтобы дать вам пример, у меня есть работающий пункт меню правой кнопкой мыши для файлов.png, который запускает для них утилиту pngout. Я сделал это, отредактировав реестр. Моя текущая ассоциация для файлов.png - FastStone Image Viewer:

Ассоциация файлов.png

Поэтому я изменил меню оболочки для ключа типа файла FastStone:

Добавлен пункт меню правой кнопкой мыши

И теперь мой пункт меню правой кнопкой мыши работает.

Другие вопросы по тегам