我正在编写一些代码以标准方式从 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
,我想将 thid 文件写入自定义文件路径,例如:
C:\Users\<username>\AppData\Local\ExampleApp\ExampleFolder
我应该如何更改代码才能执行此操作?谢谢!
最佳答案
WinRT 只能访问几个文件夹。您有一些标准库,如图片、音乐等(文档需要更高的权限),并且您有可以在 \AppData\Local\Packages\yourpackage
下找到的应用程序数据文件夹。
在这个包文件夹中,您有两个主要文件夹来存储数据:LocalState
和 RoamingState
。顾名思义:前者是将数据存储在本地,而后者将尽可能同步其内容(根据您定义的规则)。
您可以使用 Windows.Storage.ApplicationData.Current.LocalFolder
和 Windows.Storage.ApplicationData.Current.RoamingFolder
的 C++ 等效项访问这些文件夹。
虽然您可以做的是通过 FilePicker
请求显式访问,但这将提示用户一个窗口,他应该在该窗口中自己定位目录。
关于c++ - WinRT 在自定义路径创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24765748/