Более типичный / стандартный способ сделать это - установить значение по умолчанию для клавиши «.jpg» для имени, которое более четко идентифицирует тип файла, а затем настроить различные связанные с ним действия. Так что для jpgs вы можете сделать это:
HKCR\.jpg
@default = MyApp.JpegImage
HKCR\MyApp.JpegImage\shell\open\command
@default = "myApp.exe "%1""
Если какая-то другая программа решит зарегистрировать тип, она заменит значение по умолчанию для HKCR.jpg другим значением, например OtherProgram.Jpg. В этот момент вы можете заново зарегистрировать его в своем приложении, установив значение обратно в MyApp.JpegImage.
Отказ от ответственности: При внесении изменений такого рода, пожалуйста, также старайтесь соблюдать предпочтения пользователя. Например, при установке приложения дайте пользователю возможность установить это сопоставление файлов или не устанавливать его. Вы также можете предоставить команду из установленного приложения для сброса ассоциаций, если пользователь пожелает это сделать.
Если вы вместо этого хотите добавить некоторые дополнительные команды к существующему зарегистрированному типу, вы должны прочитать значение по умолчанию клавиши .jpg, чтобы найти имя типа файла. Затем вы можете открыть этот ключ и добавить действие к существующему набору действий. Например, вы можете добавить следующее:
HKCR\ExistingApp.JpegImage\shell\myopen\
@default = "Open with MyApp"
HKCR\ExistingApp.JpegImage\shell\myopen\command\
@default = "myApp.exe "%1""