Мне нужно написать плагин для приложения MFC:
- плагин развернут как dll.
- Во время выполнения приложение MFC вызывает плагин, а плагин показывает настраиваемое диалоговое окно.
- DLL должна быть загружена динамически, приложение MFC не должно быть повторно выполнено, если DLL обновлена.
В основном я пишу в .net, и после игры с MFC все кажется мне слишком странным (без событий / делегатов и т. Д.). Я в порядке, чтобы написать DLL MFC, но если я могу сделать это в .net, то я готов попробовать. Возможным решением является то, что я могу написать C # dll и выставить его как COM. Поскольку я ничего не знаю о COM, вот мои вопросы:
- Нужно ли устанавливать .net framework на компьютер клиента?
- Может ли COM динамически загружаться из приложения MFC?
- Я прочитал что-то о регистрации сборки с помощью COM, это происходит на компьютере клиента? (если да, то может потребоваться обновление установщика)
- Легко ли использовать COM в приложении MFC (для этого требуется, чтобы разработчики MFC изменили свой код)
Или, если приложить слишком много усилий для установления соединения между .net, COM и MFC, вы бы предложили мне написать код в MFC? Спасибо.
UPDATE:
Я решил использовать C ++ / CLI в качестве моста между MFC и .Net. Смешанная DLL C ++ / CLI может быть вызвана из приложения MFC, и DLL может использовать .net Framework. Таким образом, я могу кодировать пользовательский интерфейс с C # в другой DLL, и эта DLL может быть вызвана C ++ / CLI.
Ссылки:
- Собственная и .NET совместимость
- Интеграция форм Windows Forms в ваши приложения MFC через C ++ Interop