2010-08-12 2 views
10

Может ли кто-нибудь помочь мне и рассказать мне, как передать несколько аргументов вновь созданному процессу на C#? Кроме того, какой класс (Process или ProcessStartInfo или MyProcess) in должен ли я использовать при выполнении программы с условием передачи нескольких аргументов вновь созданному или выполненному процессу?Как передать несколько аргументов вновь созданному процессу в C# .net?

Как я есть эквивалент (Borland) C++ код для одной и той же задачи, которая заключается в следующем:

spawnv(P_NOWAITO,Registry->ReadString("Downloader").c_str(),arglist); 

где arglist является массив символов указатель и Registry->ReadString("Downloader").c_str(), это программа для выполнения.

Цените отзывы экспертов!

+0

Обратите внимание, что вы не передадите аргументы вновь созданных процессов. Вы передаете аргументы при создании процесса. После того, как процесс был создан, аргументы установлены. –

ответ

28

Для передачи нескольких аргументов командной строки вы должны разделить каждый пробел и окружить его кавычками, если сам аргумент содержит пробел.

string[] args = { "first", "second", "\"third arg\"" }; 
Process.Start("blah.exe", String.Join(" ", args)); 
+0

Thankyou Так много Джоша Эйнштейна !!! Это действительно помогает! – Asad

+1

Другой вариант - установить ProcessStartInfo.Arguments в случае, если вы уже используете эту перегрузку ... – Gishu

4
Process.Start("program.exe", "arg1 arg2 arg3"); 
Смежные вопросы