C # путь не найден - PullRequest
       10

C # путь не найден

0 голосов
/ 04 сентября 2018

В настоящее время я пытаюсь открыть файл PDF на стр. 16, используя System.Diagnostics.Process.Start, но он не определяет путь к моему файлу. Вот мой путь к файлу, который я хочу открыть с 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 голосов
/ 04 сентября 2018

Ваши аргументы не могут быть частью 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 (комментарий Марко прав).

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