2010-04-07 3 views
0

В настоящее время я работаю над приложением VB.NET, которое можно использовать для редактирования, компиляции и запуска программ на C. Может ли кто-нибудь сказать мне, как я могу вызвать процесс cl.exe из моей программы VB, а также как запустить программу в самой консоли.Приложение VB.NET, которое может компилировать и запускать программы C

В настоящее время у меня есть только редактор готовый. С этим можно ввести программу и сохранить ее с расширением «.c». Теперь в моей форме есть две кнопки - «Скомпилировать» и «Выполнить». Когда пользователь нажимает кнопку «Скомпилировать», программа должна быть передана процессу cl.exe, а ошибки должны отображаться в другом текстовом поле или в DOS (сам черный экран). И когда пользователь нажимает кнопку «Запустить», файл «.exe», который только что был создан, должен быть выполнен.

Есть ли способ прикреплять некоторые файлы вместе с моей программой, чтобы люди, у которых нет «C», установленных на их компьютерах, также могут редактировать, компилировать и запускать программы C с помощью моего приложения?

+0

Почему бы не использовать один из превосходных бесплатных продуктов, таких как Eclipse или Visual C++ Express? – MarkJ

ответ

2

Для этого используется класс System.Diagnostics.Process.

Вы можете запустить любой исполняемый файл, используя метод «Пуск». Вы передаете аргументы и т. Д., Как и в командной строке.

Добавлено

Вы можете перенаправить вывод программы с использованием Process.StartInfo.RedirectStandardOutput property.

Есть аналогичные методы для перенаправления ошибок, ввода и т.д.

+0

@David - Как перенаправить ошибки, вводить и выводить в/из текстового поля из результатов компилятора? –

+0

Использование Process.StartInfo.RedirectStandardOutput, RedirectStandardError, ec. См. Здесь: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput.aspx – David

+0

Спасибо, я попробую ссылки. –

1

Чтобы получить вывод компилятора или скомпилированной и связанную программы, используйте свойство System.Diagnostics.Process.StandardOutpu т для извлечения System.IO.StreamReader экземпляра.

+0

@Judge Maygarden - я проверю свойство из библиотеки MSDN, установленной в системе ma. Спасибо за помощь. –

 Смежные вопросы

  • Нет связанных вопросов^_^