Как передать несколько аргументов вновь созданному процессу в С#.net?
Как я могу передать несколько аргументов недавно созданному процессу в С#?
Кроме того, какой класс (Process
или ProcessStartInfo
или MyProcess
) следует использовать при выполнении программы с условием передачи нескольких аргументов во вновь созданный/выполненный процесс?
Как и у меня есть эквивалентный (Borland) C++ код для той же задачи, а именно:
spawnv(P_NOWAITO,Registry->ReadString("Downloader").c_str(),arglist);
где arglist
- массив указателей на символы, а Registry->ReadString("Downloader").c_str()
- программа для выполнения.
Ответы
Ответ 1
Чтобы передать несколько аргументов командной строки, вы должны разделить их пробелом и окружить его кавычками, если сам аргумент содержит пробел.
string[] args = { "first", "second", "\"third arg\"" };
Process.Start("blah.exe", String.Join(" ", args));
Ответ 2
Process.Start( "program.exe", "arg1 arg2 arg3" );