找不到C#路径

时间:2018-09-04 19:49:51

标签: c# filepath

我目前正在尝试使用System.Diagnostics.Process.Start打开第16页的PDF文件,但不会获取我的文件路径。这是我希望从C:\Users\ipadc\Desktop\projek\Bookstore Bargainer System (4 Sept)\BookstoreBargainerSystem\bin\Debug\Pdfs\User_Manual打开的文件路径。它存储在我的Application.StartupPath中。 这是我尝试过的代码,但是它说找不到路径。

System.Diagnostics.Process.Start(
   "Acrobat.exe /A \"page=16\" \""+Application.StartupPath+ "\\Pdfs\\User_Manual.pdf");

但是它只是说The file does not exist

任何人都知道为什么找不到此文件。该文件是Adobe Acrobat类型,另存为.pdf

1 个答案:

答案 0 :(得分:4)

您的参数不能成为process.start的一部分。这将采用可执行文件名称。

文件名和参数不同,需要分开。

Process acro = new Process();
acro.StartInfo.FileName = "Acrobat.exe"
acro.StartInfo.Arguments = "/A \"page=16\" \""+Application.StartupPath+ "\Pdfs\User_Manual.pdf\""
acro.Start();

我还在路径的末尾添加了一个额外的引号。

您也可以执行此操作,注意参数是start在这里的第二个参数:

Process.Start("Acrobat.exe", "/A \"page=16\" \""+Application.StartupPath+ "\Pdfs\User_Manual.pdf\"");

然后添加添加的Path.Combine建议(Marco的评论正确)。

Process.Start("Acrobat.exe", 
    "/A \"page=16\" \"" +  
    System.IO.Path.Combine(Application.StartupPath, "Pdfs", "User_Manual.pdf") 
    + "\"");