找不到C#路径

问题描述 投票:-1回答:1

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

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

但它只是说The file does not exist

任何人都知道为什么它找不到这个文件。该文件是保存为.pdf的Adobe Acrobat类型。

c# filepath
1个回答
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();

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

您也可以这样做,注意参数是从这里开始的第二个参数:

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") 
    + "\"");
© www.soinside.com 2019 - 2024. All rights reserved.