Запуск консольного приложения с аргументами из C # - GUI Hookup Advice - PullRequest
2 голосов
/ 19 ноября 2010

(Внимание: это вопрос C # n00b! Попытка немного изучить C #, упрощая работу консольного приложения, которое я часто запускаю.)

Я пытаюсь запустить консольное приложение (consoleapp.exe) без необходимости каждый раз вводить аргументы вручную. Команда обычно имеет такую ​​форму:

C:/consoleapp.exe --username (uname) --password (pass) --inputfile "c:/pathtofile/filename.xml"

Используя C #, я мог бы даже загрузить приглашение для файла проводника Windows вместо того, чтобы каждый раз вручную вводить путь к файлу. Как мне это сделать?

Я попробовал фрагмент по этой ссылке . Я заставил его работать, просто заменив ApplicationPath путем к моему приложению cojnsole и ApplicationArguments с аргументами, показанными в формате выше, за исключением Я не уверен, как соединить параметры с Инструменты VC # GUI, или для ретрансляции вывода, полученного из исходного консольного приложения.

Ответы [ 2 ]

9 голосов
/ 19 ноября 2010

Это не ответ на вопрос выше - см. Комментарии к вопросу выше.

В диалоговом окне Свойства проекта , на вкладке Отладка можно определить аргументы командной строки и рабочий каталог .

0 голосов
/ 19 ноября 2010

Вот пример кода запуска консольного приложения с параметрами и обработки вывода.

private static Process PrepareTfProcess(string args)
{
    return new Process
                      {
                          StartInfo =
                              {
                                  CreateNoWindow = true,
                                  FileName = @"consoleapp.exe",
                                  Arguments = args,
                                  RedirectStandardOutput = true,
                                  UseShellExecute = false
                              }
                      };

}

//...
using (var process = PrepareTfProcess("--param1 --param2"))
{
    while (!process.StandardOutput.EndOfStream)
    {
        string str = process.StandardOutput.ReadLine();
        // Process output lines here
    }
}
//...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...