使用默认应用程序打开文件的最简单方法是:
System.Diagnostics.Process.Start(@"c:\myPDF.pdf");
但是,我想知道是否存在为默认应用程序设置参数的方法,因为我想以确定的页码打开 pdf。
我知道如何创建一个新进程并设置参数,但是这种方式我需要指示应用程序的路径,并且我想要一个可移植的应用程序,而不必每次都设置应用程序的路径我在其他计算机上使用该应用程序。我的想法是,我希望计算机已经安装了pdf阅读器,并且只说要打开的页面。
谢谢。
最佳答案
如果您希望使用默认应用程序打开文件,我的意思是不指定 Acrobat 或 Reader,您无法在指定页面打开文件。
另一方面,如果您可以指定 Acrobat 或 Reader,请继续阅读:
您可以在不告知完整的 Acrobat 路径的情况下执行此操作,如下所示:
using Process myProcess = new Process();
myProcess.StartInfo.FileName = "acroRd32.exe"; //not the full application path
myProcess.StartInfo.Arguments = "/A \"page=2=OpenActions\" C:\\example.pdf";
myProcess.Start();
如果您不想使用 Reader 打开 pdf,而是使用 Acrobat,请像这样更改第二行:myProcess.StartInfo.FileName = "Acrobat.exe";
您可以查询注册表以识别打开 pdf 文件的默认应用程序,然后相应地在进程的 StartInfo 上定义 FileName。请按照此问题了解有关执行此操作的详细信息:Finding the default application for opening a particular file type on Windows
关于c#使用默认应用程序和参数打开文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11365984/