2010-02-11 4 views
0

me demandais s'il y a une autre façon de gérer ce que les arguments sont de séparation lors du passage dans la manière suivante:Alternative pour Environment.GetCommandLineArgs()

System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(fileName); 
psi.Arguments = @"c:\dir1\dir2\dir3\file1.txt"; 
System.Diagnostics.Process p = new System.Diagnostics.Process(); 
p.StartInfo = psi; 
p.Start(); 

Puis, dans la nouvelle application lorsque nous avons accès à l'environnement. GetCommandLinesARgs() Nous recevons un tableau qui ressemble à ceci:

string[] arr = {"filename","c:\dir1","dir2","dir3", "file1.txt"} 

Répondre

2

Le problème est que vous n'êtes pas passer les arguments correctement.

Vous devez inclure des guillemets autour du chemin, comme celui-ci:

psi.Arguments = @"""c:\dir1\dir2\dir3\file1.txt"""; 
+1

Ceci est nécessaire que s'il y a des espaces dans le chemin - pas le cas dans le code affiché, mais très probablement le cas dans le vrai code! – itowlson