这几天做一个通讯程序,要通过“运行”开启一个进程
结果有时候可以正常调用,有时候就出现问题
出问题代码如下:
Process p=Process.Start(t_path.Text.ToString(),t_file.Text.ToString());
Process.start()第一个参数是运行的程序名称,后面是该程序参数
如果这两个路径中不含空格的时候就可以正常运行,
如果包含像"D:/Program Files/"或者"G:/Documents and Settings"之类的路径程序就会出问题
原因是在运行行里面 如果运行的程序只接收一个参数,参数里面夹一个空格就相当于回车
也就是说,如果运行输入:c:/aa.exe d:/Program Files/tt.txt
其实运行的是:c:/aa.exe d:/Program
这样肯定会出错了
正确的写法应该是:
Process p=Process.Start("/""+t_path.Text.ToString()+"/"","/""+t_file.Text.ToString()+"/"");
这种写法绝对保险。
解决路径名中不能有空格的问题
最新推荐文章于 2023-06-26 12:04:57 发布