вторник, 29 июля 2014 г.

Бабушкин рецепт для управления режимом запуска экземпляра Mapinfo


Случается, что из старых сундуков извлекаются интересные вещи. Вот и сегодня так получилось. Все началось с простого вопроса на форуме: "Почему-то на одном компьютере TAB-файлы по двойному щелчку в проводнике Windows открываются в новом экземпляре Mapinfo, а на на другом компьютере - в запущенном." Иными словами, либо активируется имеющийся экземпляр приложения Mapinfo, либо активируется существующий.

Чуток покопавшись в закоулках памяти и интернета, нашел ответ на поставленный вопрос. Все дело в настройках DDE (Dynamic Data Exchange) для ассоциированных с Mapinfo типов файлов.

В обычных условиях, в реестре Windows, для tab-файла и wor-файла присутствует раздел DDEExec. При наличии этого раздела, при попытке запуска соответствующего файла, Windows пытается связаться с запущенным приложением и, если оно обнаружено, ему передается команда на обработку файла.  
Для изменения поведения при открытии файлов, достаточно просто удалить или переименовать раздел ddeexecute. Все. 

P.S. Раздел ddeexecute может присутствовать для прочих типов файлов, следовательно можно аналогично регулировать режимы запуска ассоциированных с ними приложений.