2010-08-12 12 views
10

Qualcuno potrebbe darmi una mano e dirmi come passare più argomenti a un processo appena creato in C#? Anche quale classe (Process o ProcessStartInfo o MyProcess) dovrei usare nell'esecuzione di un programma, con la condizione di passare più argomenti al processo appena creato/eseguito?Come passare più argomenti a un processo appena creato in C# .net?

Come ho l'equivalente (Borland) C++ codice per lo stesso compito, che è la seguente:

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

dove arglist è un char puntatore e Registry->ReadString("Downloader").c_str(), è il programma da eseguire.

Apprezzate il feedback degli esperti!

+0

Si noti che non si passa argomenti a processi appena creati. Si passano gli argomenti quando viene creato il processo. Una volta che il processo è stato creato, gli argomenti sono impostati. –

risposta

28

Per passare più argomenti della riga di comando, è necessario separare ciascuno di essi con uno spazio e racchiuderlo tra virgolette nel caso in cui lo stesso argomento contenga uno spazio.

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

Grazie mille Josh Einstein !!! Aiuta davvero! – Asad

+1

Un'altra alternativa è impostare ProcessStartInfo.Arguments nel caso in cui si stia già utilizzando quel sovraccarico ... – Gishu

4
Process.Start("program.exe", "arg1 arg2 arg3"); 
Problemi correlati