首页 > 后端开发 > C++ > UWP 应用如何访问 Windows 10 中的文件和目录?

UWP 应用如何访问 Windows 10 中的文件和目录?

Linda Hamilton
发布: 2025-01-09 22:21:42
原创
746 人浏览过

How Can UWP Apps Access Files and Directories in Windows 10?

在通用 Windows 平台 (UWP) 应用中导航文件系统访问

开发 UWP 应用程序在处理文件和目录访问时面临着独特的挑战,与其他 Windows 平台显着不同。本文详细介绍了在 UWP 环境中管理文件系统交互的限制和解决方案。

UWP 的受限文件访问模型

UWP 应用在更严格的文件访问模型下运行。 默认情况下,访问仅限于文件和目录:

  • 在应用程序清单中明确声明(例如文档、图片、视频文件夹)。
  • 用户通过FileOpenPickerFolderPicker选择。
  • 列于FutureAccessListMostRecentlyUsedList
  • 通过文件扩展名关联或共享机制访问。

访问应用程序存储之外的文件

要访问应用程序指定存储区域之外的文件,开发人员通常使用FolderPicker。 然而,尝试直接路径访问(例如,StorageFolder.GetFolderFromPathAsync("D:\texts\"))通常会导致访问被拒绝错误。 在应用程序清单中正确配置权限对于解决此问题至关重要。 以下是说明潜在问题的示例:

<code class="language-csharp">StorageFolder folder = await StorageFolder.GetFolderFromPathAsync("D:\texts\"); // Potential Access Denied
QueryOptions queryOptions = new QueryOptions(CommonFileQuery.OrderBySearchRank, fileTypeFilter);
queryOptions.UserSearchFilter = "142";
StorageFileQueryResult queryResult = folder.CreateFileQueryWithOptions(queryOptions);
IReadOnlyList<StorageFile> files = await queryResult.GetFilesAsync();</code>
登录后复制

利用 FutureAccessList 和 MostRecentlyUsedList

FutureAccessList 允许持久访问文件和目录,即使在应用程序关闭后也是如此。 MostRecentlyUsedList 维护最近访问的项目的记录。

Windows 10 Build 17134 及更高版本中的增强功能

Windows 10 build 17134 引入了重大改进:

  • AppExecutionAlias: 具有 AppExecutionAlias 的应用程序可以隐式访问其当前工作目录及其子目录中的文件和文件夹。
  • broadFileSystemAccess 功能: 这为应用程序授予了相当于用户权限的广泛文件系统访问权限,从而无需文件选择器提示。 请注意,此功能需要额外的 Microsoft 审核和批准。

结论

成功管理 UWP 应用程序中的文件和目录访问需要仔细考虑权限以及所提供 API 的适当使用。 通过了解固有的限制并采用推荐的技术,开发人员可以创建具有流畅、安全的文件系统交互的 UWP 应用程序。

以上是UWP 应用如何访问 Windows 10 中的文件和目录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板