Ассоциация файлов с расширением mq5 с конкретным терминалом.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Karputov
Модератор
183469
Vladimir Karputov  

Надоело мне мучатся - при клике на скачанном mql5 файл вечно запускается не мой рабочий (основной) MetaEditor, а какой-то другой. 

Итак исходные данные:

нужно ассоциировать mql5 файл с редактором реестра в папке C:\Program Files\MetaTrader 5\

Восстанавливаем вселенский покой (прописываем в реестре нужный редактор - MetaTrader 5):

Лезем в реестр HKEY_CLASSES_ROOT\MQL5.File\DefaultIcon:

DefaultIcon

затем в HKEY_CLASSES_ROOT\MQL5.File\shell\open\command:

command

TheXpert
18278
TheXpert  
А еще проще поставить MTSelector и забыть не только про неудобство, но и про мучения с реестром.
Vladimir Karputov
Модератор
183469
Vladimir Karputov  
Комбинатор:
А еще проще поставить MTSelector и забыть не только про неудобство, но и про мучения с реестром.

Я стараюсь по максимуму и использовать только стандартные программы. Поэтому мой вариант - это ручная правка реестра.
TheXpert
18278
TheXpert  

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

Vladimir Karputov:
Я стараюсь по максимуму и использовать только стандартные программы. Поэтому мой вариант - это ручная правка реестра.

И все кейсы проверил? Запуск другого терминала с правами администратора, с отключенным UAC? Установка другого терминала? Обновление другого терминала?

Vladimir Karputov
Модератор
183469
Vladimir Karputov  
Комбинатор:

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

И все кейсы проверил? Запуск другого терминала с правами администратора, с отключенным UAC? Установка другого терминала? Обновление другого терминала?


Никогда не балуюсь с правами (одному отключать, другому не отключать - это несерьёзно). Отключать UAC - это смертоубийство. Значит остаётся только последнее: при установке/обновлении я уверен придётся заново править реестр. Но это небольшая плата.
TheXpert
18278
TheXpert  

Я к тому что это решение - костыль.

Правильное решение -- создать свой progid, например mymql5.file, сделать его таким же как mql5.file только с нужным путем терминала.

Затем этот progid добавить указать в ключе HKEY_CLASSES_ROOT\.mq5\OpenWithProgids

Этот класс будет отображаться в шелл меню "open with" поэтому если на каждый терминал создать свой класс, то через open with можно напрямую открывать файл любым терминалом.


Vitaly Muzichenko
13953
Vitaly Muzichenko  
А может кто создать батник, чтоб по мере необходимости его запускать, и он сам правил реестр? Я когда-то создавал bat-файлы, но уже не помню как это было.
Vladimir Karputov
Модератор
183469
Vladimir Karputov  
Vitaly Muzichenko:
А может кто создать батник, чтоб по мере необходимости его запускать, и он сам правил реестр? Я когда-то создавал bat-файлы, но уже не помню как это было.

Вроде можно и без bat файла - просто нужно сохранить ветку реестра MQL5.File в отдельный файл и по мере надобности запускать его - этот файл при запуске должен перезаписать ветку "MQL5.File" реестра.
Andrey Khatimlianskii
56063
Andrey Khatimlianskii  
У Карпутова зоопарк эдиторов. Мир катится в преисподнюю.
TheXpert
18278
TheXpert  
Andrey Khatimlianskii:
У Карпутова зоопарк эдиторов.
Эдитор от чужого терминала не даст команды терминалу обновить список программ после компиляции, насколько я помню.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий