如何以访问_every_目录的权限运行我的应用程序
本文关键字:权限 运行 应用程序 我的 访问 every | 更新日期: 2023-09-27 17:53:08
我正在开发一个供我个人使用的小型备份应用程序,作为它的一部分,我想遍历给定磁盘上的每个目录。
我已经将我的应用程序设置为使用清单以管理员权限运行,而像GetDirectories()
这样的方法现在可以进入系统文件夹,当访问Documents and Settings
时,它们仍然会与UnauthorizedAccessException
一起失败。
我将(不得不)过滤掉系统文件/打开文件等,当然,但现在只是生成列表,我想给它访问整个硬盘驱动器,但无论是'requireAdministrator'或'highestAvailable' requestdexecutionlevel似乎这样做;我怎样才能让它访问整个硬盘?
您需要有FileIOPermissionAccess。AllAccess许可。为此,您需要以管理员身份登录。如果你不能这样做,你最好的改变就是跳过这些文件夹。下面的例子来自一个类似的问题:
try
{
Directory.GetFiles(path)
.ToList()
.ForEach(s => files.Add(s));
Directory.GetDirectories(path)
.ToList()
.ForEach(s => AddFiles(s, files));
}
catch (UnauthorizedAccessException ex)
{
// ok, so we are not allowed to dig into that directory. Move on.
}