C# 使用Process调用外部程序中所遇到的参数问题
在使用Process.Start 调用外部程序时,除了程序的地址之外,是可以传递参数的,Process.Start 也有多个重载;
View Code
其中的arguments 参数, 是有个空格的问题的, 在外部程序接收参数的 (Winform) 是用过Main(string[] args) 。 其中args是数组 , 在StartInfo.Arguments中的参数的间隔是根据空格进行分断的。 所以如果在传递的参数中是空格的,就需要 在 参数前后追加 “\"” 即:
1 string argument1 = "\"" + argv1 + "\""; 2 string argument2 = "\"" + argv2 + "\""; 3 Process process = new Process(); 4 process.StartInfo.FileName = System.Environment.CurrentDirectory + "//test.exe"; 5 process.StartInfo.Arguments = argument1 + " " + argument2; 6 process.StartInfo.UseShellExecute = true; ; 7 //启动 8 process.Start();
ok, 这样就能解决Process 传递参数的有空格的问题了。