1 / 1 / 0
Регистрация: 15.04.2011
Сообщений: 8
1

Из С# вызвать приложение С++

03.05.2011, 18:57. Показов 2497. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Подскажите пожалуйста, как из C# приложения вызвать С++ приложение, например, по нажатию кнопки?
Сам проект С++ я добавила к решению, как теперь его вызвать, передать в него параметры и получить нужные в ответ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2011, 18:57
Ответы с готовыми решениями:

Вызвать консольное приложение C# из проекта winforms и дать команду завершения также из winforms
Добрый день ! у меня есть проект на C# на winforms. я написал также консольное приложение на...

Как вызвать приложение из 1С?
Всем добрый день.:))) Такой вопрос - как правильно вызвать андроид приложение из 1С?.. Я...

Вызвать внешнее приложение в свою форму
Есть ли возможность в QT организовать вызов стороннего приложения, но так, чтобы оно не в новом...

Как вызвать консольное приложение из оконного?
Здравствуйте! Есть оконное приложение в VCL Forms Application C++ Builder . Есть приложение...

10
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
03.05.2011, 20:35 2
если вам нужно просто запустить приложение, которое было написано на С++ по нажатию кнопочки на форме, которую вы пишете на C#, то вам не надо добавлять запускаемое приложение в решение, которое вы пишете. в обработчике нажатия на кнопочку нужно дописать следующее:
C#
1
2
            string fileName = @"file.exe"; //путь к файлу, который вам нужно запустить
            System.Diagnostics.Process.Start(fileName);
1
20 / 19 / 1
Регистрация: 20.10.2009
Сообщений: 103
04.05.2011, 07:31 3
Цитата Сообщение от Matsur Посмотреть сообщение
Сам проект С++ я добавила к решению
я подозреваю что он хочет либо что был него часть проекта была на шарпе а часть на си++, либо хочет делать вставки в код на си++, есть конечно вариант что программа которую он пишет будет использовать библиотеку написанную на си++, но тут одна проблема...
человек который читает мысли временно отсутствует... так что изъясняйтесь понятней
1
1 / 1 / 0
Регистрация: 15.04.2011
Сообщений: 8
04.05.2011, 18:58  [ТС] 4
Да, вы правы, я хотела часть проекта сделать на шарпе, часть на С++. Но, в принципе, первый вариант мне подходит. Только как лучше передавать данные между этими приложениями?
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
04.05.2011, 19:05 5
Matsur, для фактической передачи данных между запущенными приложениями используют маршалинг
1
20 / 19 / 1
Регистрация: 20.10.2009
Сообщений: 103
04.05.2011, 20:02 6
А можно поинтересоваться с чем связана данная необходимость ?
0
1 / 1 / 0
Регистрация: 15.04.2011
Сообщений: 8
05.05.2011, 10:55  [ТС] 7
Приложение ни С++ у меня уже было давно. Там описаны часть операции с нечеткими числами. На C# я пишу выпускную работу, в которой мне надо анализировать нечеткие числа. А так как время поджимает и лень переписывать N-ое количество строк кода, то я пытаюсь выяснить, можно ли умудриться использовать то, что у меня уже есть.

Добавлено через 3 минуты
Я уже начинаю думать, что может легче переписать... А можете объяснить, как будет работать dll. Я же могу в C# приложении вызывать из него нужные функции? Может, это станет оптимальным вариантом.
0
637 / 498 / 77
Регистрация: 28.07.2010
Сообщений: 895
05.05.2011, 11:10 8
Не совсем понимаю что Вам нужно, но если у приложения на С++ есть вывод в консоль, то можно стандартные потоки перенаправить, и читать из них эти числа(или что Вам нужно). Это делаеться с помощью класса System.Diagnostics.Process. Для примера можете посмотреть этот проект.
Вложения
Тип файла: zip HLDSGuiTool.zip (2.80 Мб, 33 просмотров)
1
1 / 1 / 0
Регистрация: 15.04.2011
Сообщений: 8
05.05.2011, 11:38  [ТС] 9
Я думаю, это слишком сложно для меня. Я буду дольше разбираться как это сделать, чем если бы я переписала код. Вот все таки, насчет dll. Я же могу переделать свой C++ проект в библиотеку и вызывать нужные функции из него. Тогда ведь все данные, которые мне нужны, и так будут возвращаться ко мне из вызываемых функций, да?
0
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
05.05.2011, 11:40 10
Можете.
1
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
05.05.2011, 13:47 11
Matsur, в таком случае вам нужно будет использовать DLLImport (Google)
0
05.05.2011, 13:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2011, 13:47
Помогаю со студенческими работами здесь

Как вызвать приложение и ждать его завершения
Люди! Как из проги на яве вызвать другое приложение и !ждать его завершения! , а потом продолжить...

Console.WriteLine() не канает... Как из винформ вызвать консольное приложение?
Всем привет. Подскажите пожалуйста: Как из винформ вызвать консольное приложение? Я решил написать...

RAD Studio 10.2 linux - как вызвать любое приложение из среды unix?
Ранее написал небольшой скрипт на питоне, чтобы в автоматическом режиме мониторил коннекты к веб...

Как "положить" Expolrer.exe или вызвать/положить любое другое приложение
Я вот написал псевдо троян, для удаленного управления второго компа, ведь лень вставать с одного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru