process.start()找不到正确的文件夹

时间:2018-08-02 03:18:24

标签: c# io process.start desktop-bridge

我正在使用桌面桥,因此我的Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)返回类似

的内容。

C:\ Users \ Kriz \ AppData \ Local \ Packages \ 48889JohnDoe.myApp_v1dvn23bknv3r \ LocalCache \ Roaming \ myApp

使用此路径保存,打开和编辑文件没问题。但是,当我尝试使用Process.Start(filepath)打开pdf文件时,出现一个错误,指出该文件不存在...但是在此之前,我用相同的路径保存了该文件...

怎么了?

编辑: 我已经测试过一些东西...当我将Process.Start()方法与Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)一起使用时,它不起作用,但是如果我将Process.Start()方法与完整路径一起使用(C:\ Users \ Kriz \ AppData \ Local \ Packages \ 48889JohnDoe.myApp_v1dvn23bknv3r \ LocalCache \ Roaming \ myApp \ file.pdf)。

因此,似乎Process.Start()方法在错误的文件夹中查找。使用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)时,如何使用与我的应用程序其余部分相同的文件夹获取此方法?

谢谢!

Kriz

1 个答案:

答案 0 :(得分:0)

假设您的 file.pdf 与应用程序的.exe位于同一目录中。 您只需拨打

Process.Start("file.pdf");

如果给Process.Start一个相对的文件路径而不是一个绝对路径,它将开始在运行.exe的目录中搜索。