没有对话框的 UWP C# FolderPicker
UWP C# FolderPicker without Dialog
我有以下代码
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:\.
有可能吗?
UWP 应用程序 运行 在沙盒中,这样用户就可以安全地安装它们,而不必担心应用程序会访问她未授予其访问权限的文件夹。
在这种情况下,如果您需要访问C:盘,根据您目标Windows10的版本,有两种解决方案。
如果您的目标是 Fall Creators Update (1709 - 16299) 或更低版本,则必须使用 FolderPicker
对话框要求用户手动选择文件夹。
如果您针对 Spring Creators Update(1803 - 可能是 17110),您可以声明新的 broadFileSystemAccess
capability,这将使您的应用程序能够访问用户有权访问的任何位置,但是你的应用需要这样的东西肯定是有原因的,因为它是在 Microsoft Store 的认证过程中进行评估的。
此外,如果您的应用声明了 app execution alias,它会自动获得从向下启动的文件夹访问文件系统树的权限。您不需要任何特殊权限。
我有以下代码
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:\.
有可能吗?
UWP 应用程序 运行 在沙盒中,这样用户就可以安全地安装它们,而不必担心应用程序会访问她未授予其访问权限的文件夹。
在这种情况下,如果您需要访问C:盘,根据您目标Windows10的版本,有两种解决方案。
如果您的目标是 Fall Creators Update (1709 - 16299) 或更低版本,则必须使用 FolderPicker
对话框要求用户手动选择文件夹。
如果您针对 Spring Creators Update(1803 - 可能是 17110),您可以声明新的 broadFileSystemAccess
capability,这将使您的应用程序能够访问用户有权访问的任何位置,但是你的应用需要这样的东西肯定是有原因的,因为它是在 Microsoft Store 的认证过程中进行评估的。
此外,如果您的应用声明了 app execution alias,它会自动获得从向下启动的文件夹访问文件系统树的权限。您不需要任何特殊权限。