В Windows 10 версии 1803, SDK build 17134 вы можете получить доступ ко всем файлам, к которым у пользователя есть доступ, с помощью функции broadFileSystemAccess
.
С другой стороны, ваше приложение имеет разрешение на доступ к локальному расположению LocalAppData, вы можете получить прямой доступ к файлу, используя ms-appdata
uri,
using Windows::Storage;
auto getFileTask = create_task(StorageFile::GetFileFromApplicationUriAsync(ref new Uri("ms-appdata:///local/file.txt")));
getFileTask.then([](StorageFile^ file)
{
// Process file
});
Так что вы не можетенеобходимо скопировать файл в папку «Ресурсы» вашего приложения.Кроме того, папка «Ресурсы» приложения доступна только для чтения и недоступна для записи после развертывания.Вы не можете вносить какие-либо изменения в код своего приложения, включая создание или копирование файла в эту папку.
Вам следует заглянуть в документ Права доступа к файлу , чтобы получить более подробную информацию о доступе к файлу и получитькод ссылки из официального FileAccess образца кода.
--- Обновление для добавления возможности broadFileSystemAccess
---
Во-первых, щелкните правой кнопкой мыши файл Package.appxmanifestи выберите Просмотр кода , вы сможете увидеть код в манифесте.
Во-вторых, на верхней вкладке добавьте следующий код, xmlns:rescap="..."
и поместите rescap
взначение IgnorableNamespaces
, выглядит как IgnorableNamespaces="uap mp rescap"
, выглядит,
<Package
...
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap mp rescap">
Наконец, добавьте возможность broadFileSystemAccess
во вкладку,
<Capabilities>
<rescap:Capability Name="broadFileSystemAccess" />
</Capabilities>