WinRT在自定义路径创建文件

WinRT Create File at Customized Path

本文关键字:创建 文件 路径 自定义 WinRT      更新时间:2023-10-16

我正在编写一些代码,以标准方式从Windows 8应用程序创建文件,代码如下:

using namespace Windows::Storage;
StorageFolder^ folder = KnownFolders::DocumentsLibrary;
String ^filename = ref new String(L"file.txt");
auto createFile = folder->CreateFileAsync(filename, CreationCollisionOption::ReplaceExisting);
concurrency::create_task(createFile).wait;

现在不使用DocumentsLibrary,我想写第三个文件到一个自定义的文件路径,像:
C:Users<username>AppDataLocalExampleAppExampleFolder

我应该如何更改代码才能做到这一点?谢谢!

WinRT只能访问少数文件夹。你有一些标准的库,如图片,音乐等(文件需要提升的权利),你有应用程序数据文件夹,你可以在AppDataLocalPackagesyourpackage下找到。

在这个包文件夹里面,你有两个主要的文件夹来存储数据:LocalStateRoamingState。正如其名称所传达的那样:前者是在本地存储数据,而后者将尽可能同步其内容(根据您定义的规则)。

您可以使用相当于Windows.Storage.ApplicationData.Current.LocalFolderWindows.Storage.ApplicationData.Current.RoamingFolder的c++访问这些文件夹。

你可以做的是通过FilePicker请求显式访问,但是这会提示用户一个窗口,他应该自己定位目录。