为了账号安全,请及时绑定邮箱和手机立即绑定

在C#中启动带参数的进程的问题

在C#中启动带参数的进程的问题

Qyouu 2018-10-26 05:06:41
我现在想在C#中打开特定的文件,并且指定特定的打开方式。下面是代码1.ProcessStartInfo psi = new ProcessStartInfo(@"D:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe");psi.UseShellExecute = false;psi.Arguments = @" d:\a a\H3C实验手册.pdf";Process.Start(psi);2.System.Diagnostics.Process.Start(@"D:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe", @" d:\a a\H3C实验手册.pdf");这两个代码实现的是同一个效果,都是指定D盘  “a a”文件夹(注意a a中间有个空格)下的“H3C实验手册.pdf”文件用Foxit Reader.exe 打开。但是上面指定文件的路径中有个“空格”,如果没有在别的没有空格的路径下打开文件就可以,若文件路径中有空格的话,就不行了。自己的分析:上面的程序实际上就是用命令行参数来启动程序,而命令行参数是用空格开区分不同的参数,所以文件路径中有空格后,这个参数是被截断了。 
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

你不带@,直接用\\转义是一下

Process myProcess = new Process();
            myProcess.StartInfo.FileName ="D:\\a a\\123 456.docx";
            myProcess.StartInfo.Verb = "Print";
            myProcess.StartInfo.CreateNoWindow = true;
            myProcess.Start();

上面的代码测试是通过的

查看完整回答
反对 回复 2018-10-30
  • 2 回答
  • 0 关注
  • 620 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信