我目前正在尝试使用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
。
答案 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")
+ "\"");