2009-08-13 3 views
1

У меня есть приложение MDI Windows Forms (.net 2008), которое позволяет пользователю связывать различные типы файлов с приложением. Я в настоящее время сделать это с помощью записи реестра что-то вроде этого, что вызывает приложение для загрузки и доступа к имени файла с помощью командной строки:Какая лучшая альтернатива .net для dde для ассоциаций файлов?

Registry.SetValue(appKey & "\shell\open\command", "", """" & _ 
    System.Windows.Forms.Application.ExecutablePath & """ ""%1""") 

В pre-.net версии приложения, я использовал DDE (ddeexec в реестре). Если экземпляр приложения выполнялся, когда файл дважды щелкнул в проводнике Windows, он откроет файл, не запустив новый экземпляр приложения.

Теперь, когда Microsoft не рекомендует использовать DDE, лучший способ в .net для запуска приложения MDI открыть дополнительный файл, когда файл дважды щелкнут в проводнике, а не запускает новый экземпляр заявление?

ответ

1

В идеале вы можете использовать обычные методы объединения файлов (doc), а также некоторую форму межпроцессного взаимодействия для организации того, как ваша программа обрабатывает последующие запуски.

Например, когда запускается ваша программа, проверьте, открыт ли еще один экземпляр. Если да, передайте данные параметров в существующий экземпляр и закройте. Существующий экземпляр затем обрабатывает данные соответствующим образом.

Здесь (link) является хорошим ответом, чтобы вы начали с этого.