Запуск файлов из пути в Windows 10 UWP

Я пытался запустить файл с компьютера разными способами, предположим, это d:\a.pdf

1.- Пробовал с Launcher.LaunchFileAsync, но ему нужен StorageFile, который должен быть GetFileFromPathAsync, но, как всем известно, приложениям W10 не разрешено открывать такой путь.

2.- Пробовал использовать file:/// как file:///d:/a.pdf, но он просто возвращает false

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

3.- Launcher.FindFileHandlersAsync() не возвращает пустое значение.

Так есть ли способ запускать файлы?


person Juan Pablo Garcia Coello    schedule 18.08.2015    source источник


Ответы (1)


Невозможно запустить файлы из путей, на чтение которых у приложения нет прав. Приложения не имеют доступа к d:\

Вы можете использовать LaunchUriAsync для запуска файлов по пути из пакета приложения или каталогов данных приложения, но не из другого места. Использование протоколов ms-appx: или ms-appdata: — более чистый способ обращения к этим расположениям.

Если у вас есть разрешение, вы можете получить StorageFile. Это позволит запускать файлы из библиотек, местоположений, выбранных с помощью FilePicker, файлов, по которым щелкнули для запуска приложения (хотя это будет циклически) и т. д.

person Rob Caplan - MSFT    schedule 18.08.2015
comment
И это будет поддерживаться? просто запустите, мне не нужен доступ к нему, допустим, пользователь добавляет путь к файлу и ему нужно его запустить. - person Juan Pablo Garcia Coello; 19.08.2015
comment
Можно ли запустить exe-файл по пути - person djkpA; 06.03.2017
comment
@djkp Поскольку это действительно старый комментарий, я надеюсь, что он поможет здесь - person MelloPs; 09.11.2018