没有Dialog的UWP C#FolderPicker

时间:2018-04-09 08:43:07

标签: c# uwp storage directory access

我有以下代码

var picker = new FolderPicker();
            picker.FileTypeFilter.Add("*"); 
            var pfolder = await picker.PickSingleFolderAsync();
            StorageApplicationPermissions.FutureAccessList.Add(pfolder);
            StorageFile file = await pfolder.GetFileAsync("Kundenliste.xml");

可以给FolderPicker一个固定的文件夹吗?不应弹出FolderPicker的对话框,但我需要访问文件夹C:\。

有可能吗?

1 个答案:

答案 0 :(得分:2)

UWP应用程序在沙箱中运行,因此用户可以安全地安装它们,并且不必担心应用程序访问她未授予其访问权限的文件夹。

在这种情况下,如果您需要访问C:驱动器,则有两种解决方案,具体取决于您所定位的Windows 10的版本。

如果您定位Fall Creators Update(1709 - 16299)或更低版本,则必须使用FolderPicker对话框要求用户手动选择文件夹。

如果您定位Spring Creators更新(1803 - 可能是17110),您可以声明新的broadFileSystemAccess capability,这将使您的应用可以访问用户有权访问的任何位置,但必须有一个原因您的应用程序需要这样的东西,因为它是在Microsoft商店的认证过程中进行评估的。

此外,如果您的应用声明了app execution alias,它会自动获得从向下启动文件系统树的文件系统树访问文件系统树的权限。您不需要任何特殊权限。