Я развертываю маленький инструмент преобразования в некоторых системах и хочу, чтобы пользователи смогли выполнить его от щелчка правой кнопкой Open with
меню. Но я не хочу изменяться, пользователи программы по умолчанию связались к этому типу файла.
Легко связать расширение файла / тип к программе, но как сделать это (программно, конечно), не изменяя программу по умолчанию?
У меня сработали следующие ключи:
key HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/<progname>: "" = <appPath>
key HKCR/Applications/<progname>/SupportedTypes: <fileExt> = ""
key HKCR/<fileExt>: "" = <progID>
key HKCR/<progID>/OpenWithList/<progName>
key HKCR/<fileExt>/OpenWithList/<progName>
key HKCR/SystemFileAssociations/<fileExt>/OpenWithList/<progName>
delete key and subkey at HKCU/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/fileExts/<fileExt>
В диалоговом окне Windows «Типы файлов» вы можете нажать «Дополнительно» для своего типа файла и создать там настраиваемое действие, привязанное к вашему приложению.
Возможно, вы также сможете найти способ сделать это программным способом или, по крайней мере, создать файл .REG с эквивалентными параметрами реестра.
вот рабочий пример для XP, добавляющего параметр командной строки в папки. Создайте файл .reg
Редактор реестра Windows версии 5.00
[HKEY_CLASSES_ROOT \ Directory \ shell \ Командная строка]
[HKEY_CLASSES_ROOT \ Directory \ shell \ Command Prompt \ command] @ = "cmd.exe / k cd \"% 1 \ ""
Вы можете добавить скрипты в контекстное меню (ниже Open with), добавив его в реестр windows:
HKEY_CLASSES_ROOT\ваш_класс\Shell
(Default)
значение этого ключа и вставьте текст, который вы хотите отобразить в контекстном менюCommand
под созданной клавишей(Default)
этой клавиши и вставьте команду, которую вы хотите выполнить