1) Определите тип файла (ProgID) для файлов .jpg
Это можно сделать, проверив значение по умолчанию HKEY_CLASSES_ROOT\.jpg
. Это может быть что угодно в зависимости от того, что вы установили, но для целей этого примера мы назовем его jpegfile
, обычное значение по умолчанию.
2) Установите свойства пункта контекстного меню (глагол) для этого типа файла
Вы можете установить пункты контекстного меню для пользователя в HKEY_CURRENT_USER\Software\Classes\jpegfile\shell
. Этот ключ имеет список глаголов для типа файла. В HKEY_LOCAL_MACHINE\Software\Classes\jpegfile\shell
есть аналогичный ключ, и это системные значения по умолчанию для типа файла. Вы также можете поместить ключ глагола туда, но если такой же ключ существует в HKCU, он будет переопределен, поэтому имейте в виду.
3) Установить значение команды
Минимальное значение ключа, которое необходимо установить, чтобы оно заработало, является значением по умолчанию для подраздела command
. Вам нужно установить это с путем к вашему приложению, например, так: HKEY_CURRENT_USER\Software\Classes\jpegfile\shell\open_with_myapp\command
будет установлен на "c:\path\to\myapp.exe" "%1"
. Теперь контекстное меню для файлов .jpg будет иметь элемент «open_with_myapp», который запустит ваше приложение при нажатии и передаст имя выбранного файла в качестве параметра. Конечно, то, как ваше приложение обрабатывает параметры, зависит от вас, поэтому вам нужно установить строку параметров в то, что ваше приложение может обработать.
4) Установить другие свойства глагола
Я полагаю, вы, вероятно, захотите, чтобы пункт контекстного меню читал что-то более дружелюбное, чем название клавиши. В контекстном меню можно отобразить любую метку, которую вы хотите для своего элемента, установив значение по умолчанию для этой клавиши (open_with_myapp
).
Это ваш основной обзор. Обязательно ознакомьтесь с моим ответом на этот вопрос о сопоставлении файла, на который есть аналогичный ответ: