最近做一个软件集成的事情,有多个之前做的软件,集成到一起自己用,使用了
Process.Start(“*.exe”)的方式,然而遇到了传递参数的问题。
这里汇总后的程序叫main.exe,要汇总的软件之一是pro1.exe;
引用:C#,Process.Start() 传递多参数问题。_百度知道
多个参数之间用空格即可!
多个参数之间用空格即可!
Process.Start("程序名","a b c d e")
Static void Main(String[] arg){
//传进来自动变为String[] 类型!
// arg[0] == "a";
// arg[1]== "b";
}
以上思路是没问题的,参数“a b c d”是写死了常量,但是我现在是传递的变量。
直接写入:
Process.Start(Pro1.exe,str1 str2)
str1和str2用空格隔开,无法启动程序pro1.exe,随后修改参数部分语法问题,得知关于参数传递的空格必须写入,
正确参数输入方式如下:
//string.Join(" ",str2),在参数str1 和str2之间强制加空格
Process.Start(Pro1.exe,$"\"{str1}\" {string.Join(" ",str2)}")