首页 > 解决方案 > 如何检查用户是否在设置中授予文件系统权限?

问题描述

我的应用确实需要文件系统权限 ( broadFileSystemAccess) 但不幸的是,用户可以在 Windows 设置 > 隐私 > 文件系统中关闭此设置。有没有一种好方法可以在运行时检查设置是否打开以提醒用户?探测代码

    try {
        auto file = co_await winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(L"C:\\Windows\\regedit.exe");
    } catch (winrt::hresult_error const& e) {
         // Show message dialog
    }

对我来说似乎不太好,因为用户可能会在不同的驱动器上安装 Windows。

标签: uwp

解决方案


目前没有明确的API来检测文件系统是否打开,只能在获取文件时查看。

但是,您可以在检查过程中做出判断。如果您使用 try-catch 语句捕获类型错误UnauthorizedAccessException,则文件系统未打开。经过测试,即使在访问不存在的文件时也会优先处理未经授权的错误。


推荐阅读