从 Windows 10 UWP 中的路径启动文件

Launching files from path in Windows 10 UWP

我试过很多方法从电脑启动一个文件,假设是 d:\a.pdf

1.- 尝试使用 Launcher.LaunchFileAsync 但需要应该是 GetFileFromPathAsync 的 StorageFile 但众所周知 W10 应用程序未经授权打开这样的路径。

2.- 尝试使用 file:/// like file:///d:/a.pdf 但它只是 returns false

var success = await Launcher.LaunchUriAsync(new Uri("file:///d:/a.pdf", UriKind.Absolute), options); 

3.- Launcher.FindFileHandlersAsync() returns 都不为空。

那么有什么方法可以启动文件吗?

无法从应用程序无权读取的路径启动文件。应用无权访问 d:\

您可以使用 LaunchUriAsync 从应用程序包或应用程序数据目录中按路径启动文件,但不能在其他地方启动。使用 ms-appx: 或 ms-appdata: 协议是处理这些位置的更简洁的方法。

如果你有权限那么你可以获得一个StorageFile。这将允许从库中启动文件、通过 FilePicker 选择的位置、单击以启动应用程序的文件(尽管这将是循环的)等。