Есть много вариантов, вот некоторые из них:
Оберните код c ++ в Windows DLL, вызовите код c ++ из .NET, используя p /invoke.
Обернуть код c ++ в com-объект, .NET может напрямую использовать com-объекты.
Обернуть код c ++ в некоторый типуправляемой оболочки C ++ (c ++ / CLI), загрузите и используйте эту новую сборку в графическом интерфейсе .NET.
Еще несколько экзотических идей:
Используйте некоторый тип межпроцессного взаимодействия, например, сокеты.Ваш код C ++ должен был бы выполняться в другом процессе.Я полагаю, вы также можете превратить код c ++ в веб-сервис.
Запустить код c ++ в командной строке, запускаемой .NET GUI.Передача параметров через параметры командной строки, захват и анализ стандартного текста из программы на c ++ обратно в приложении .NET.
Редактировать: я бы порекомендовал DLL и p / invoke,COM-объект будет иметь преимущества перед простой старой DLL для передачи более сложных типов и предоставления объектной модели, но COM-объекты затрудняют создание и установку / регистрацию (даже с / ATL, файлами манифеста и т. Д.).Использование C ++ / CLI всегда кажется более сложным, чем это стоит для многих проектов, но стоит немного узнать об этом, если другие варианты станут слишком ограничивающими.