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

Что я хочу

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

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

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

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

(Также тестировалось с txtfile, но безуспешно.)

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


person rwx    schedule 25.10.2017    source источник


Ответы (1)


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

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

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

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

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

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

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

Добавлен пункт контекстного меню

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

person DodgyCodeException    schedule 25.10.2017
comment
Спасибо! Это работает, но это не то, что я хотел. Мне нужна отдельная запись, давайте назовем ее «Быстрое редактирование», и там есть несколько вариантов выбора, например. Уменьшить качество, сжать и так далее. Я попробовал это сейчас с exefile с успехом, чтобы добавить эту первую запись test, но до сих пор не знаю, почему она не появляется в других типах файлов, таких как .jpg или .txt. - person rwx; 26.10.2017
comment
Я понимаю что ты имеешь ввиду. Я изменю свой ответ. - person DodgyCodeException; 27.10.2017