C# - 使用关联的程序打开文件而不调用命令行

时间:2011-09-12 17:28:23

标签: c#

是否可以在不调用命令行的情况下使用默认程序打开文件?我想运行一个单元测试并让单元测试在完成后打开文件(PDF)以进行目视检查。

5 个答案:

答案 0 :(得分:6)

只需致电Process.Start(filePath) 这将在用户的默认程序中打开该文件。

答案 1 :(得分:2)

我认为这应该有效:

System.Diagnostics.Process.Start(@"c:\file.pdf"); //i.e provide the full path!

答案 2 :(得分:2)

只需使用以下语法:

System.Diagnostics.Process.Start(@"c:\yourfile.txt");

答案 3 :(得分:0)

 Process process = new System.Diagnostics.Process();
 process.EnableRaisingEvents = false;
 process.StartInfo.CreateNoWindow = true;
 process.StartInfo.FileName = filePath;
 string arguments = fileArguments;
 process.StartInfo.Arguments = fileArguments;
 process.Start();
 process.WaitForExit();

通过这种方式,您可以使用参数/参数调用文件名并将其放在pdf中。您还可以指定不同的程序并将其放在路径中,然后在fileArguments中指定pdf名称。这取决于你。

答案 4 :(得分:0)

如果您使用此代码:

System.Diagnostics.Process.Start( "C:\...\...\myfile.pdf" );

pdf应该由与.pdf扩展名相关联的默认程序打开。

这是你想要的吗?我会小心地把它放在单元测试中,以防你在服务器上自动构建中包含那些测试,该服务器在没有登录用户的情况下运行,如果它失败并且如果它没有失败则可能是一个问题,谁是有关闭Acrobat Reader? :d